Как отобразить сумму уровня как значение его последнего дочернего элемента в MDX
Вопрос
У меня есть запрос MDX, в котором перечислены меры для всех уровней «Неделя» и «День» в базе данных OLAP.Например
SELECT
{
HIERARCHIZE( {[Business Time].[Week].members, [Business Time].[Date].members} )
}
ON ROWS,
{
[Measures].[Quantity]
}
ON COLUMNS
FROM [Sales]
Однако, если показатель отображается для недели, вместо отображения суммы всех значений дня я хотел бы показать значение для последнего дня недели.Например
1 неделя:12
15 сентября:10
16 сентября:20
17 сентября:12
18 сентября:15
19 сентября:8
20 сентября:9
21 сентября:12
Неделя 2:15
22 сентября:12
23 сентября:15
Как я могу добиться этого в MDX?
Решение
Добавьте новые вычисляемые показатели в начало вашего многомерного выражения, которые показывают значение за последний день, только если оно отображается на уровне недели, в противном случае оставьте его без изменений:
WITH MEMBER [Measures].[Blah] AS
'IIF(
[Business Time].currentMember.level.name = "Week",
([Business Time].currentMember.lastChild, [Measures].[Quantity]),
([Business Time].currentMember, [Measures].[Quantity])
)'
Я ожидаю, что клиент обратился с этим странным запросом, и я предсказываю, что через месяц вам позвонит кто-то из того же офиса и скажет, что еженедельная «общая сумма» в этом отчете неверна!