MDX 表达式:计算成员
Posted
技术标签:
【中文标题】MDX 表达式:计算成员【英文标题】:MDX Expression : Calculated Member 【发布时间】:2014-08-27 18:50:37 【问题描述】:我正在尝试在 Microsoft Analysis Services 多维数据集上创建一个计算成员。
有一个现有的维度[Projects][Project Number - Name]
,其成员沿着“12345 - 项目 X”这一行。我只需要提取项目编号(“12345”)。
我最初以为它会像LEFT(Projects].[Project Number - Name],5)
一样简单,但这会产生null
响应。
即使我只是像[Projects].[Project Number - Name]
一样重复维度,我也会得到null
。
我尝试了[Projects].[Project Number - Name].Value, [Projects].[Project Number - Name].Members
和许多其他想法,但我(正如您可能看到的)在黑暗中拍摄。
我主要是想在 Tableau 中实现这个功能(需要一个 MDX 表达式,而不是完整的查询),但我也尝试过 MS Excel Power Pivot 中的计算成员功能,它产生的结果完全相同回答 (null
) - 这表明我的 MDX 有问题。
【问题讨论】:
看看这是否有帮助:social.msdn.microsoft.com/Forums/sqlserver/en-US/… 感谢这确实让我朝着正确的方向前进。我现在有 `LEFT([Projects].[Project Number - Name].CURRENTMEMBER.NAME,5) 工作,但前提是我还包括工作表其他地方包含的原始 [Projects].[Project Number - Name] 维度。如果我将原始维度取出,计算的成员将变为空...... ??? 【参考方案1】:我会尝试:
LEFT( [Projects].[Project Number - Name].currentMember.name, 5 )
否则,[Projects].[Project Number - Name] 引用一个成员,然后将其转换为元组并进行评估。所以你的表达式实际上是在处理这个元组评估的结果,而不是成员本身的名称。
【讨论】:
这将返回维度名称(“项目编号 - 名称”)而不是成员值(“12345 项目 X”)....? 抱歉,我忘记了 .currentMember 通话 - 现在可以了吗?以上是关于MDX 表达式:计算成员的主要内容,如果未能解决你的问题,请参考以下文章