蒙德里安 - 为什么我需要显式级别来引用层次结构中的成员?
Mondrian - why do I need explicit level to reference a member in a hierarchy?
如果我想在 Mondrian MDX 查询(使用 Mondrian 4.4)中引用层次结构中的成员,我必须在表达式中明确引用级别。例如,在 SSAS 中我可以做类似
[Customer].[Customer Geography].[Canada]
但在 Mondrian 中我必须明确添加第一层级的名称
[Customer].[Customer Geography].[Country-Region].[Canada]
我应该在哪里查找故障排除?我的层次结构很简单,只有两层 hasAll="false"
。
在 SSAS
当你写这个 [Customer].[Customer Geography].[Canada]
我相信它是这个的简写:
[Customer].[Customer Geography].[All].[Canada]
这两个脚本给出相同的结果:
SELECT
[Customer].[Customer Geography].[All].[Canada] ON 0
FROM [Adventure Works];
SELECT
[Customer].[Customer Geography].[Canada] ON 0
FROM [Adventure Works];
因此,如果您的层次结构没有 [All]
成员,则成员将是最高级别的子级。我认为 SSAS
将假定最高级别,即使您没有明确说明它,但看起来 mondrian
需要它明确添加到您的 mdx
.
如果我想在 Mondrian MDX 查询(使用 Mondrian 4.4)中引用层次结构中的成员,我必须在表达式中明确引用级别。例如,在 SSAS 中我可以做类似
[Customer].[Customer Geography].[Canada]
但在 Mondrian 中我必须明确添加第一层级的名称
[Customer].[Customer Geography].[Country-Region].[Canada]
我应该在哪里查找故障排除?我的层次结构很简单,只有两层 hasAll="false"
。
在 SSAS
当你写这个 [Customer].[Customer Geography].[Canada]
我相信它是这个的简写:
[Customer].[Customer Geography].[All].[Canada]
这两个脚本给出相同的结果:
SELECT
[Customer].[Customer Geography].[All].[Canada] ON 0
FROM [Adventure Works];
SELECT
[Customer].[Customer Geography].[Canada] ON 0
FROM [Adventure Works];
因此,如果您的层次结构没有 [All]
成员,则成员将是最高级别的子级。我认为 SSAS
将假定最高级别,即使您没有明确说明它,但看起来 mondrian
需要它明确添加到您的 mdx
.