Разница в результатах при использовании.CHILDREN и.ALLMEMBERS в выражении MDX
У меня есть два почти одинаковых запроса 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]. Год - это естественная иерархия, а [Год-квартал-месяц-дата] - это пользовательская иерархия. [Год-квартал-месяц-дата] создается следующим образом: Год -> Месяц ---> Квартал ---> Дата. Таким образом, "годы" могут быть получены с помощью [Дата происшествия]. [Год-квартал-Месяц-Дата]. [Год].members, а также [Дата происшествия]. [Год]. ЧЛЕНЫ.
1 ответ
Ну, получил ответ сам. На самом деле каждый .CHILDREN
внутренне переводится на .CURRENTMEMBER.CHILDREN
Сейчас, [Accident Date].[Year].&[2010]
является соответствующим значением для слайсера в определенной пользователем иерархии. Вот, [Accident Date].[Year].CHILDREN
на самом деле переводится в [Accident Date].[Year].&[2010].CHILDREN
который в основном пустой набор. Следовательно, вуаля! Пустой набор результатов!