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 attach

"dataAttach": "..dispatch query.."
"dataAttachList": Data Attach list

A query that returns a single dispatch. The data values of the dispatch will be attached to the shared store and available within the layout. Example usage is with a template, e.g. "My age is {values.age}"

  • Data Attach query
    • query:String Dispatch query string; $user will be replaced with the id of the currently displayed or context user if applicable
  • Data Attach List
    • query: query:String Dispatch query string; $user will be replaced with the id of the currently displayed or context user if applicable
    • name: name:String name used to access the data in values

Data Attach List will place the result under values.. with the special property $dispatch providing access to the dispatch attributes.

Data Attach will place the result under values.

Attachment attach

"attributeAttach": "..attribute query.."

A query that returns attribute data.

  • query:String Attribute query string; $user will be replaced with the id of the currently displayed or context user if applicable

Data source connections

Data source connections have the following attributes:

  • source: the data source to pull from
  • pick
  • apply
  • groupBy
  • timeSeries
  • takeFirst
  • takeLast
  • precision
  • default
  • format
  • groupedFormat
  • condition
  • trackerId
  • trackerHandle
  • empty
  • total, vTotal, hTotal
  • conditionalBackground
"connect": [
    {
        "title": "Data elements",
        "source": "data",
        "pick": "values.height",
        "apply": "sum(ls)",
        "format": "0,0"
    }
]

When calculating the following steps are applied:

  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

Apply is performed on each entry matching "timeSeries".

Example of timeSeries

{
  "timeSeries": "YYYY-MM-DD; YYYY-MM-DD; P1D; day", // would apply to each day
  "timeSeries": "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.

Connection

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.

When using dataAttach, dataAttachList or attributeAttach the data will be exposed through the template language by using:

  1. dataAttach: values.<path to data> or dispatch.<path to data>
  2. dataAttachList: values.<name provided>.$dispatch.values.<path to data>
  3. attributeAttach: store.<path>

In the case of dataAttachList other dispatch attributes are available through $dispatch..

Properties

  • 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 processes the 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