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"
}]
}