MDX用于计算来自2个不同维度的2个成员属性相等的度量值
我有以下度量和维度的结构,以及一些示例数据 事实表: id_dim1 id_dim2 id_dim…测量值1 12…120 21…101 11…95 3…12 Dim1: id_dim1成员1值 1价值1 2价值2 3价值3 Dim2: id_dim2成员2值 1价值1 2价值2 3价值3 Dim1和Dim2实际上是角色扮演维度,并且基于相同的维度表 我想计算一个度量值,该度量值仅在以下情况下与度量值1求和:MDX用于计算来自2个不同维度的2个成员属性相等的度量值,mdx,dimension,measure,members,Mdx,Dimension,Measure,Members,我有以下度量和维度的结构,以及一些示例数据 事实表: id_dim1 id_dim2 id_dim…测量值1 12…120 21…101 11…95 3…12 Dim1: id_dim1成员1值 1价值1 2价值2 3价值3 Dim2: id_dim2成员2值 1价值1 2价值2 3价值3 Dim1和Dim2实际上是角色扮演维度,并且基于相同的维度表 我想计算一个度量值,该度量值仅在以下情况下与度量值1求和: [Dim1].[Hierarchy1].[Level based on member2
[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尝试这个
问候
Soeren您如何看待在事实表或DSV中的表达式中创建附加字段
case
when id_dim1 = id_dim2 then measure1
else 0
end
之后,您可以创建新的度量
在某些情况下,它比编写困难的mdx表达式更容易