MDX: вычислить максимальное значение для элемента измерения - PullRequest
0 голосов
/ 23 мая 2018

Доброе утро.у меня есть следующая таблица фактов

FK_Cmd |FK_Ship |Dilevry_time
C001   |1       |20
C001   |2       |25
C002   |1       |23

я хочу рассчитать среднее максимальное время доставки на Cmd, которое в примере будет (25 + 23) / 2 = 24.Я использую следующий запрос MDX:

AVG(MAX([Dim Cmd].[PR_Cmd],[Measures].[Delivery time]))

, но я не получаю правильный результат.Вы можете помочь с этим?спасибо

1 Ответ

0 голосов
/ 25 мая 2018

Вам нужно будет определить его как член что-то вроде:

WITH MEMBER [Measures].[Max Delivery time] AS Max   
   ([Dim Cmd].[PR_Cmd].currentMember  
      , [Measures].Delivery time]  
   )  

 MEMBER [Measures].[Avg Max Delivery time] AS Avg
   ([Dim Cmd].[PR_Cmd].allMembers
      , [Measures].[Max Delivery time]  
   ) 

SELECT [Measures].[Avg Max Delivery time] ON 0 
FROM [Cube]

У меня нет SSAS в настоящее время, поэтому я не могу проверить его, но это должно быть нечто подобное.Другим способом было бы определить его как вычисляемый элемент в определении куба, если это важная метрика для вас, вместо того чтобы каждый раз использовать MDX.В конце концов, это будет быстрее, потому что у куба будет готово это значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...