为什么我尝试完全限定MDX计算成员的资格失败? (蒙德里安)

时间:2013-07-21 12:32:39

标签: mdx pentaho mondrian

这是Pentaho 3.8 CE,我认为随附Mondrian 3.5

这个MDX会产生一个结果:

WITH MEMBER [Items].[ItemType].[NonSales] as
[Items].[ItemType].[Deposit] + [Items].[ItemType].[Gift_Voucher]
SELECT 
{[Items].[NonSales]} ON COLUMNS,
[Measures].[AmtPaidExclGST] on rows
FROM [sales]

(维度是项目。它有一个层次结构,未命名,一个层次称为ItemType。)

然而,这不是:

WITH MEMBER [Items].[ItemType].[NonSales] as
[Items].[ItemType].[Deposit] + [Items].[ItemType].[Gift_Voucher]
SELECT 
{[Items].[ItemType].[NonSales]} ON COLUMNS,
[Measures].[AmtPaidExclGST] on rows
FROM [sales]

不同之处在于成功的Select Row使用计算成员名称的限定版本。 我阅读MDX文档表明完全限定的成员名称应该有效。我希望两个查询都能产生相同的结果。

它确实适用于真正的会员。这很有效。

SELECT 
{[Items].[ItemType].[Deposit]} ON COLUMNS,
[Measures].[AmtPaidExclGST] on rows
FROM [sales]

我是MDX的新手,这让我疯狂,因为我怀疑我对如何编写成员名称的理解。

1 个答案:

答案 0 :(得分:1)

某些旧版本的mondrian不允许您将成员添加到除根级别以外的级别(根级别成员的示例在某个维度中为ALL)。可能mondrian正在添加计算成员(您可以使用维度查询)但无法与级别关联(您的查询使用[查询2])。

由于