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

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

1 Ответ

1 голос
/ 23 сентября 2008

Добавьте новые вычисленные меры в начало MDX, которые показывают значение последнего дня, только если оно показывается на уровне недели, в противном случае оставьте его без изменений:

WITH MEMBER [Measures].[Blah] AS 
'IIF(
   [Business Time].currentMember.level.name = "Week",
   ([Business Time].currentMember.lastChild, [Measures].[Quantity]),
   ([Business Time].currentMember, [Measures].[Quantity])
)'

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

...