Skip to content

Data

Data source

"dataSources": [
    {
      "id": "data",
      "query": "given trackers[data] from +1 to -12 weeks"
    }
  ]

An array of data queries that resolve when the chart is loaded and the date changed.

  • id:String unique identifier within the layout
  • query:String Dispatch query string; $user will be replaced with the id of the currently displayed user if applicable

Data source connections

"connect": [
    {
        "title": "Data elements",
        "source": "data",
        "pick": "values.height",
        "apply": "sum(ls)",
        "format": "0,0"
    }
]

When calculating a point there are two steps:

  1. trackerId | trackerHandle - filters by tracker handle or id (optional)
  2. condition - applies condition and filters anything that is not true (optional)
  3. pick - this grabs value from the individual dispatches
  4. apply - this computes the list of individual values into a single value; it is passed an array of pick values called ls

Apply is performed on each entry matching "timeSeries". A time series of "YYYY-MM-DD; YYYY-MM-DD; P1D; day" would apply to each day while "YYYY-MM; YYYY-MM; P1M;" would apply to each month.

In apply it is possible to access a specific value in the list using at. For example at(ls, 0) would give the first element, at(ls, -1) would give the last value.

An array of connections to a data source to populate a chart or table. The connection resolves to a single value per through a two step process. The pick attribute is applied to each dispatch resulting in a list of values while apply is used to turn the list of values into a single value.

Data is grouped based on the grouping or through a time series expression.

  • title:String descriptive title for use in configuration
  • source:String Data source identifier
  • pick:String an expression resolved per dispatch that results in a list of number values
  • apply:String an expression resolved list of values resolved through pick where ls refers to the value list
  • format:String format string

Data source segmentation

"timeSeries": "YYYY-MM-DD; MMM-D; P1D"

Time series defines how to group time series data.

  • Group; Display; Period
    • Group a date format string for the group
    • Display the display title for the group
    • Period the duration from the start to the end of the group