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

为什么我尝试完全限定MDX计算成员的资格失败了?(蒙德里安),mdx,pentaho,mondrian,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] (

这是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]
(维度为Items。它有一个层次结构、未命名和一个称为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]
不同之处在于,成功选择行使用的是计算成员名称的限定性较差的版本。 我对MDX文档的阅读表明,完全限定的成员名称应该可以工作。我希望两个查询产生相同的结果

对于真正的会员来说,它确实有效。这很有效

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

我是MDX的新手,这让我抓狂,因为我怀疑我对如何写成员名字的理解

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


谢谢

事实上,我在这个示例中看到:Microsoft首先写道:“在WITH关键字的语法中,Member_标识符值是计算成员的完全限定名。此完全限定名包括计算成员关联的维度或级别。”