2014-12-04 2 views
1

Я пытаюсь получить максимальное значение для таблицы измерения, где данные, как указано в таблице фактовКак получить максимальное значение с помощью MDX Query

WITH 
    MEMBER [Measures].[Max key] AS 
    Max 
    (
     [DimAnchorDate].[Date Key].MEMBERS 
    ,[DimAnchorDate].[Date Key].CurrentMember.Member_Key 
    ) 
SELECT 
    { 
    [Measures].[Max key] 
    } ON COLUMNS 
FROM X; 

Этот запрос дает мне выход: 20141231 В таблице фактах мы имеем данных Шифрование до 20141031. из вышеупомянутого запроса я хотел бы получить 20141031

enter image description here

так что теперь я пытаюсь получить максимальное значение из таблицы DimAnchordate так же, как он приходит в FactPatientDr таблице (т.е. 20141031) .so п лизинг предложить мне лучший способ для достижения этой цели ...

ответ

1

Я думаю, на данный момент вы смотрите на даты, которые являются пустыми в некоторых частях куба пространства - попробуйте заставляя nonempty с помощью мер из FactPatientDr

WITH 
    MEMBER [Measures].[Max key] AS 
    Max 
    (
     nonempty(
     [DimAnchorDate].[Date Key].MEMBERS 
     ,[Measures].[SomeMeasureInFactPatientDr] 
    ) 
    ,[DimAnchorDate].[Date Key].CurrentMember.Member_Key 
    ) 
SELECT 
    { 
    [Measures].[Max key] 
    } ON COLUMNS 
FROM X; 
+0

благодаря @whytheq она отлично работает для меня – mohan111

0

Я думаю, что мы можем использовать функцию хвост, чтобы получить желаемый результат со значением измерения, а также:

select non empty([Measures].[Entered Case], 
    tail 
    (Order 
     ([Calendar].[Date].[Date].members 
     ,[Measures].[Entered Case] 
     ,basc 
    ) 
    ,1 
    )) on 0 from [SolutionPartner] 
Смежные вопросы