mdx - 基于在行中选定的维度创建动态计算成员

  显示原文与译文双语对照的内容
0 0

是否有方法根据在行中选定的维度创建动态计算成员? 我有以下示例 2维度 [Dim1] 。[Dim1] 和 [Dim2] 。[Dim2],具有度量值 [Measures] 。[Measure] 和计算成员 [Measures] 。[CalculatedMeasure]:


 WITH MEMBER [Measures].[CalculatedMeasure] AS 
 IIF([Dim1].[Dim1]**.....IS SELECTED ON ROWS.........**,
 [Measures].[Measure]
/
 ([Measures].[Measure], [Dim1].[Dim1].CurrentMember.Parent),

 [Measures].[Measure]
/
 ([Measures].[Measure], [Dim2].[Dim2].CurrentMember.Parent))

 SELECT {[Measures].[Measure],[Measures].[CalculatedMeasure]} ON COLUMNS, 
 {[Dim2].[Dim2].Members)} ON ROWS
 FROM [DataBase]

我想要的是,在行上选择 [Dim2] 。[Dim2] 时,计算成员应该是


 [Measures].[Measure]
/
 ([Measures].[Measure], [Dim2].[Dim2].CurrentMember.Parent)

其它


 [Measures].[Measure]
/
 ([Measures].[Measure], [Dim1].[Dim1].CurrentMember.Parent)

谢谢

时间: 原作者:

0 0

在 Analysis Services中,你 [Dim1].[Dim1]**.....IS SELECTED ON ROWS.........** 可以被编码为


Axis(1).Item(0).Item(0).Hierarchy IS [Dim1].[Dim1]

如果可以假定行上只有一个层次结构。

这里,Axis(1) 按设置返回行的轴。 我不确定 pentaho/Mondrian 是否支持这个功能。 然后,第一个 Item(0) 选择该集的第一个元组,第二个元组返回该元组的第一个成员。 最后,Hierarchy 函数返回成员的层次结构。

若要在行中包含最多三个层次结构的查询,请编写


Axis(1).Item(0).Item(0).Hierarchy IS [Dim1].[Dim1] OR
Axis(1).Item(0).Item(1).Hierarchy IS [Dim1].[Dim1] OR
Axis(1).Item(0).Item(2).Hierarchy IS [Dim1].[Dim1]

原作者:
...