有没有办法根据ON ROWS选择的尺寸创建动态计算成员? 我有以下两个维度[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] ON ROWS时,计算出的成员应该是
的结果 [Measures].[Measure]
/
([Measures].[Measure], [Dim2].[Dim2].CurrentMember.Parent)
ELSE
[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]