Cube references
A cube reference is a named link that lets formulas in one cube pull values from another cube in the same project. Instead of copying numbers between cubes, you define the link once and the engine resolves the value live at compute time.
Why references exist
In a multi-cube model it is common for one cube's output to feed another cube's input. A Headcount cube might supply the employee count that a Compensation cube uses to compute total salary cost. A Revenue cube might feed an EBIT cube's top line.
Without references you would either duplicate data (copy-paste, which drifts) or manage explicit import links (which require a scheduled refresh). References let you express the dependency as a formula, so the consuming cube always sees the current value in the source cube.
How they work
You register a reference on the consuming cube by giving it a variable name (e.g. headcount) and pointing it at the source cube. The engine stores which cube and which dimension-item slice the reference resolves to.
In a formula item you then call Reference("headcount") to read that value. The function resolves the name through the cube's registered references and returns the source cell's current computed value, including any of the source cube's own formula evaluations.
The reference function family
Three built-in functions use named references:
Reference("name")(alias:Ref) — returns the current value from the referenced cube at the matching coordinate.Prior("name"; shift)— returns the value from the referenced cube at a past time period (requires a time-scale dimension).PriorDelta("name"; shift)— returns the change between the current and a prior period from the referenced cube.
All three resolve their first argument as a reference name. If the name is not registered on the cube, the function returns zero. See Formulas for formula syntax, and the Formula function reference for full signatures.