Skip to main content

Dimension Roles & Member Tags

Dimension roles and member tags provide flexible ways to reference dimensions and members without hardcoding names.

Dimension Roles

Dimension roles allow you to reference dimensions by their function in a model rather than by their specific name. This enables creating reusable queries that work across different tenants or models with different dimension names.

Standard Roles

RoleDescriptionExample Dimensions
AccountThe account/KPI dimensionKPI, Account, Metric
ScenarioThe scenario dimensionScenario, Version
TimeThe time/period dimensionPeriod, Time, Date
StageThe stage dimension (RevIQ)Stage, Pipeline Stage

Using Dimension Roles

In queries and expressions, prefix the role name with @:

[@Time].[2025].LeafDescendants
[@Account].[Revenue]

In variable substitutions:

SELECT * FROM {DimTable.Account}
WHERE {Dimension.Time} = 'Period'

Member Tags

Member tags provide a way to locate dimension members without knowing their exact name or key. Tags are useful when:

  • Member names may vary between tenants
  • You need to reference specific members in reusable content
  • Members may be renamed but should retain their functional identity

Using Member Tags

Tags are enclosed in hashtags (#) in queries and expressions:

[Account].#[netincome]
[Account].#[revenue]#.SelfAndDescendants

Tag Characteristics

  • A member can have multiple tags
  • Tags are case-sensitive
  • Tags must be unique within a dimension
  • Tags are defined in the dimension member properties

Examples

-- Reference a member by tag in a calc script
scope ([Account].#[opex], [Scenario].[Actual])
[New] = 1000
end scope

-- Use tag in dimension query
{
"Dimension": "Account",
"Members": [{
"Type": "Member",
"Tag": "#revenue#",
"Relationship": "SelfAndDescendants"
}]
}