Как отобразить сумму уровня как значение его последнего дочернего элемента в MDX

StackOverflow https://stackoverflow.com/questions/120616

  •  02-07-2019
  •  | 
  •  

Вопрос

У меня есть запрос 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])
)'

Я ожидаю, что клиент обратился с этим странным запросом, и я предсказываю, что через месяц вам позвонит кто-то из того же офиса и скажет, что еженедельная «общая сумма» в этом отчете неверна!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top