一尘不染

在MDX语句中使用.CHILDREN和.ALLMEMBERS时结果的差异

sql

我有两个几乎相似的MDX查询,其中一个是我使用.CHILDREN,另一个是.ALLMEMBERS。第一个不返回任何行,第二个不返回两个行。请帮助我理解原因!

查询1

select 
[Measures].[Claim As Of - Count] on 0,
[Accident Date].[Year].allmembers on 1
from [AW Cube]
where [Accident Date].[Year-Quarter-Month-Date].[Year].&[2010]

-– 2行

查询2

select 
[Measures].[Claim As Of - Count] on 0,
[Accident Date].[Year].children on 1
from [AW Cube]
where [Accident Date].[Year-Quarter-Month-Date].[Year].&[2010]

-无行

-—索赔截至-计数-全部637,350 –2010 637,350

只是加起来,AccidentDate是我的多维数据集[AW Cube]中的维度之一。年份是自然层次结构,而[年份-季度-月-
日期]是用户定义的层次结构。[Year-Quarter-Month-Date]是通过以下方式创建的:Year-> Month —> Quarter
—> Date。因此,可以通过[Accident Date]。[Year-Quarter-Mon-Date]。[Year]
.members和[Accident Date]。[Year] .MEMBERS来获得“年”。


阅读 139

收藏
2021-03-08

共1个答案

一尘不染

好吧,我自己得到答案。实际上,每一个都.CHILDREN在内部转换为.CURRENTMEMBER.CHILDRENNow,[Accident Date].[Year].&[2010]是用户定义的层次结构上切片器的相应值。在这里,[Accident Date].[Year].CHILDREN实际上被转换[Accident Date].[Year].&[2010].CHILDREN为基本上是一个空集。因此,瞧!空结果集!

2021-03-08