Skip to content


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