我有两个几乎相似的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来获得“年”。
好吧,我自己得到答案。实际上,每一个都.CHILDREN在内部转换为.CURRENTMEMBER.CHILDRENNow,[Accident Date].[Year].&[2010]是用户定义的层次结构上切片器的相应值。在这里,[Accident Date].[Year].CHILDREN实际上被转换[Accident Date].[Year].&[2010].CHILDREN为基本上是一个空集。因此,瞧!空结果集!
.CHILDREN
.CURRENTMEMBER.CHILDREN
[Accident Date].[Year].&[2010]
[Accident Date].[Year].CHILDREN
[Accident Date].[Year].&[2010].CHILDREN