SSAS 计算成员中的 MDX 查询

Posted

技术标签:

【中文标题】SSAS 计算成员中的 MDX 查询【英文标题】:MDX query in SSAS calculated member 【发布时间】:2020-05-31 09:31:10 【问题描述】:

我在 SQL 中正确尝试了MDX Query 但是我会在计算成员部分的 VisualStudio(SSAS) 中插入该查询,但是处理时间会出错

Select 
[Measures].[Fact Student Status Count]on columns
From [Cube_REG_Amozesh DW]
Where ( [Dim Student Status].[Student Status Key].[Student Status Key]-[Dim Student Status].[Student Status Key].&[0])

我收到以下错误:

严重性代码描述项目文件行抑制状态 错误 MdxScript(Cube_REG_Amozesh DW) (2, 5) Parser: The syntax for “选择”不正确。 (创建动态集 CURRENTCUBE.[RegSt] AS 选择 [Measures].[Fact Student Status Count] [Cube_REG_Amozesh DW] where ( [Dim Student Status].[Student Status Key].[Student Status Key]-[Dim Student Status].[Student Status 键].&[0]), DISPLAY_FOLDER = 'شاخص' ; )。 0

【问题讨论】:

您能描述一下您要完成的工作吗? RegSt 集中应该包含什么?这基本上是where子句中的集合吗? 我想要一个特殊事实的记录计数,除了一个带有 X 值的特殊成员 【参考方案1】:

根据您的查询,这就是您应该在计算度量中输入的内容

Sum([Dim Student Status].[Student Status Key].[Student Status Key]-[Dim Student Status].[Student Status Key].&[0],[Measures].[Fact Student Status Count]). 

另外,请确保您使用计算的度量而不是设置

【讨论】:

谢谢,但是使用这个查询的结尾有什么意义,正确吗? 对不起,我没听懂,你能重复一遍 是你的意思:成员Measures.RegST as ( Sum([Dim Student Status].[Student Status Key].[Student Status Key]-[Dim Student Status].[Student Status Key ].&[0],[Measures].[Fact Student Status Count])) 在 [DSV_REG_Amozesh DW] 的列上选择Measures.RegST????在计算成员中键入此查询【参考方案2】:

成功了:

CREATE MEMBER CURRENTCUBE.[Measures].RegST AS [Measures].[Fact Student Status Count]-([Measures].[Fact Student Status Count],[Dim Student Status].[Student Status Key].&[0])

【讨论】:

在脚本视图中输入 您不应该将其添加为答案,因为您使用了我提供的脚本,所以您应该将我的脚本标记为答案。

以上是关于SSAS 计算成员中的 MDX 查询的主要内容,如果未能解决你的问题,请参考以下文章

使用 where 子句 (MDX) 的 SSAS 计算度量

MDX 计算成员不允许多个层次结构元组

SSAS 多维数据集计算的成员无穷大总计值

创建一个 MDX 计算成员以使用包含总计和减少的数据制作堆积条形图

用 MDX 查询的日期范围子句中的现有成员替换不存在的成员

SSAS MDX WHERE 子句语法 - 从同一层次结构中过滤多个值