有没有更好的方法使用MDX命令而不是使用此Drillhrough解决方法从SSAS多维数据集显示简单网格(基本上看起来像SQL select语句)?
以下是我到目前为止所使用的内容:
DRILLTHROUGH
Select
([Measures].[Some Measure]) on columns
From (
Select
{
[PeriodSpan].&[201301] : [PeriodSpan].&[201304]
}
on columns
From [CubeName]
)
RETURN
[$Dimension1].[Attribute1],[$Dimension1].[Attribute2],[$Dimension1].[Attribute3],[$Dimension1].[Attribute4],[$Dimension1].[Attribute5],
[$Dimension2].[Attribute1],[$Dimension2].[Attribute2],[$Dimension2].[Attribute3],
[$Dimension3].[Attribute1],[$Dimension3].[Attribute2],[$Dimension3].[Attribute3],[$Dimension3].[Attribute4],
IIF([Dimension4].[Attribute1]=[Dimension4].[Attribute1].&[False],[Dimension4].[Attribute2],[Dimension4].[Attribute3])
问题是现在我无法弄清楚如何让IFF条件起作用。当我尝试运行命令时出现错误消息,说“太多的参数被传递给IIF MDX函数。允许的参数不超过1个。”我还尝试通过计算脚本在多维数据集级别创建新成员:
SCOPE (some hierarchy here which I'm still not clear on how to use);
IF [$Dimension4].[Attribute1] IS [$Dimension4].[Attribute1].&[False] THEN this = [Dimension4].[Attribute2] END IF;
IF [$Dimension4].[Attribute1] IS [$Dimension4].[Attribute1].&[True] THEN this = [Dimension4].[Attribute3] END IF;
END SCOPE
我也尝试了计算成员和命名集但没有结果。
我是SSAS和MDX的新手,但我希望你能看到我想要实现的目标。提前致谢。任何帮助将不胜感激。