Skip to main content

How to understand measure dependencies

The Measure lineage tab in Atoti Admin UI provides a visual and interactive overview of how measures are connected and derived within a cube. It helps users understand dependencies between measures, trace their origins, and inspect their attributes. This is useful for debugging, auditing, and optimizing measure logic.

How to view a measure

Use the measure selector in the top-left corner to choose a measure. Once selected:

  • The measure is shown in the graph.
  • Its attributes are displayed in the panel.
Example measure, parent measure and children measures
Example measure, parent measure and children measures

How to interpret measure attributes

The attributes displayed depend on the type of measure selected. There are 4 types of measure:

  • HIDDEN MEASURE: Used in calculations but not visible in the UI
  • RAW: An aggregation of the raw data, like .SUM
  • NATIVE: Measures created by the Atoti system, like update.TIMESTAMP
  • POST_PROCESSED: Measures created from combining any of the above or other post_processed measures

A measure created using Atoti's COPPER API will display as one of the four types above.

  • Attributes for raw measure (created using Copper.SUM, etc) indicate the datastore field used for the aggregation.
  • Attributes for post-processed measures (created using our legacy Post-processors or with Copper.newPostProcessor):
    • Plugin key: The plugin used to create the measure
    • Post-processor name: Name of the underlying post-processor class
    • Properties:
      • Output type: Data output format
      • Continuous query handler keys: How post-processor measures are chained
      • Context values: All external variables that can impact the way the measure is calculated.

How to explore measure relationships

The child and parent measures are displayed on the screen and listed in the attributes.

  • Child measure: A measure used in the calculation of the target measure.
  • Parent measure: A measure calculated using its child measures as inputs

The measure names are clickable. Click a name in the measure lineage diagram or in the parent or child list to navigate through the measure chain. The measure attributes update when you select a new measure.

Use the buttons at the top of the attributes list:

  • All Parents: Add all the parents of the target measure
  • Isolate: Remove all the measures apart from the target measure

Authorization

Authorization to access the measure lineage tab is managed at the endpoint level. This tab uses the Atoti Server Diagnostic endpoint. This endpoint is exposed by the Atoti Server starter