Reference Updated April 8, 2026

RATIO

Category: Math & numeric

End-Node Restriction. The RATIO function should be an end node. It should not be referenced by other nodes or used in further calculations. Doing so will cause the dynamic recalculation behavior to be lost, producing potentially incorrect results.

RATIO is designed for visualization and reporting purposes only. If you need a calculable ratio, see “Alternative: Division with Weighted-Average Aggregation” below.

Overview

The RATIO function divides one node by another while retaining only the dimensions shared by both nodes.

Unlike a standard division ('Node1' / 'Node2'), RATIO dynamically recalculates the ratio at every aggregation level displayed in the workspace. For example, when switching from a monthly to a quarterly view, the ratio is recomputed from the quarterly totals rather than averaging the monthly ratios.

Use this function when you need a ratio that stays correct across different aggregation levels in dashboards and reports.

Syntax

RATIO('Node1', 'Node2')

Example usage: RATIO('Revenue', 'Quantity')

Parameters

ParameterDescriptionTypeRequired
Node1Dividend. The node whose values are dividedNode referenceYes
Node2Divisor. The node whose values divide Node1Node referenceYes

Output Shape

AspectBehavior
DimensionalityOnly dimensions shared by both input nodes are kept
ValuesValues are recalculated dynamically per aggregation level in the workspace
Row countDepends on shared dimensional combinations

Watch Out

  • RATIO is not a standard calculation node.
  • The function should not be referenced by other nodes.
  • The result is recomputed dynamically when the aggregation level changes.
  • Only shared dimensions between both nodes appear in the result.

Examples

Basic ratio

Input node: A

YearValue
202515
202628
2027126

Input node: B

YearValue
20252
20262
20273

Formula: RATIO('A', 'B')

Year→ RATIO Result
20257.5
202614
202742

At the individual year level, RATIO produces the same results as division. The difference appears when you aggregate:

Plain division (incorrect)RATIO (correct)
TotalAverage of ratios: (7.5 + 14 + 42) / 3 = 21.2Recalculated from totals: (15 + 28 + 126) / (2 + 2 + 3) = 169 / 7 ≈ 24.1

RATIO recomputes the division from the aggregated totals, giving the mathematically correct result.

Inputs with different dimensions

When Node1 and Node2 have different dimensions, only the shared dimensions appear in the result.

Input node: Revenue

YearRegionValue
2025EMEA500
2025APAC300
2026EMEA600
2026APAC400

Input node: Headcount

YearValue
202550
202655

Formula: RATIO('Revenue', 'Headcount')

Year→ RATIO Result
2025(500 + 300) / 50 = 16
2026(600 + 400) / 55 ≈ 18.2

Region is not shared by both nodes, so it is not present in the output. Revenue is aggregated across regions before dividing by headcount.

Alternative

Division with Weighted-Average Aggregation

If you need a ratio result that can be used in further calculations, do not use RATIO.

Instead:

  1. Create a regular division node: 'Node1' / 'Node2'
  2. Set the node’s aggregation type to “weighted average” (with the divisor as the weight node).

This produces a similar weighted ratio across aggregation levels, but the result is a standard node that can be referenced by other calculations. Note that the aggregation behavior may not be identical to RATIO in all cases.


FunctionWhen to use instead
DIVISION (/)When you want standard division that keeps the union of dimensions from both nodes.
DIVIDEWhen you want division with validation for missing rows.
Was this page helpful?