我有以下测量和尺寸结构,以及一些示例数据
事实表:
id_dim1 id_dim2 id_dim ... measure1
1 2 ... 120
2 1 ... 101
1 1 ... 95
3 3 ... 12
DIM1:
id_dim1 member1value
1 Value1
2 Value2
3 Value3
DIM2:
id_dim2 member2value
1 Value1
2 Value2
3 Value3
Dim1和Dim2实际上是角色扮演维度,基于相同的维度表
我想计算一个仅在以下情况下对measure1求和的度量:
[Dim1].[Hierarchy1].[Level based on member2value]=[Dim2].[Hierarchy1].[Level based on member2value]
在上面的例子中,度量将计算为:95 + 12 = 107
问题在于我希望正确计算度量,即使在后面的mdx查询中没有使用Dim1和Dim2。
到目前为止,我有以下内容,只有在后面的查询中使用Dim1和Dim2时才有效:
Member [Measures].[CondMeasure] AS 'IIF(
[Dim1].[Hierarcy1].[All].[Level].CurrentMember.Name =
[Dim2].[Hierarchy1].[All].[Level].CurrentMember.Name
,
([Measures].[Measure1],
[DimXX].[Hxx].[LevelXX].[MemberXX],
[DimYY].[Hyy].[LevelYY].[MemberYY])
),
0
)
'
该度量也仅根据其他一些成员的具体情况计算,如上所示。
顺便说一下。我在SSAS中尝试这个
此致 索伦
答案 0 :(得分:0)
您如何看待在DSV中创建事实表或表达式中的附加字段?
case
when id_dim1 = id_dim2 then measure1
else 0
end
之后,您可以创建新的指标...
在某些情况下,它比编写困难的mdx表达式更容易。