Запрос MDX для включения диапазона дат

Я использую этот запрос (MDX). Он возвращает данные, но возвращает данные за несколько лет, когда я пытаюсь просто получить даты в диапазоне дат: например, если я хочу 10/1/2013, запрос возвращает 10/1/2013,10/1/ 2014, 1/10/2015.
Я ищу конкретный диапазон дат, 13/10/2013 и 13/01/2014.
Почему я получаю несколько лет, когда я специально запрашиваю эту дату спектр?

SELECT              {[Measures].[Network Calls Received]} 
                    ON COLUMNS,
                    non empty               

                   [Dim Time].[Half Hour of Day].members  ON Rows

FROM 

                  [OTS Analysis Services]
      where [Dim Date].[Date].&[10/13/2013]:[Dim Date].[Date].&[01/13/2014]

person Junior Vasquez    schedule 20.01.2015    source источник
comment
Я ищу mdx, чтобы вернуть мне эту дату, ну, на самом деле, я ищу все полученные сетевые вызовы (один ответ), где диапазон дат — это диапазон выше, а время — 07:30 (19:30).   -  person Junior Vasquez    schedule 21.01.2015


Ответы (2)


Похоже, ваш фильтр имеет ОДИН неверный ключ. При использовании неправильного ключа сервер использует вместо него NULL.

Вот пример:

Без фильтрации (чтобы показать образец данных): SSAS_WrongKeys_Unfiltered

Правильно отфильтровано с марта 2014 г. по июнь 2014 г.: SSAS_WrongKeys_FilteredGood

Затем мы добавляем неправильный ключ к правильному члену (и так же, как с использованием NULL!):

Как только мы используем оба неправильных ключа, нет возможности определить используемое измерение (то же самое, что и оба NULL):

Пожалуйста, проверьте обоих участников, но особенно [Dim Date].[Date].&[13.01.2014]. Похоже, в этом измерении нет такого члена.

И формат адресации ключей тоже нуждается в проверке, о чем некоторое время назад писал BI Dude (большое ему спасибо!).

person Alex Peshik    schedule 21.01.2015
comment
Этот ответ точен - я сталкивался с тем же, - но не при использовании диапазона по датам, поскольку наше измерение даты завершено. При использовании двоеточия для другого измерения я также долго ломал голову, а затем понял, что одна сторона оператора оценивается как Null. - person whytheq; 21.01.2015

Я считаю, что проблема связана с вашей ссылкой. Обычно ключ элемента измерения является целым числом. так что ваш диапазон должен выглядеть

 where ([Dim Date].[Date].&[20131013]:[Dim Date].[Date].&[20140113])

Вы можете проверить ссылку на члена:

  1. Подключение к службам анализа SSMS
  2. Создайте новый запрос MDX.
  3. Перетащите элемент даты из иерархии в редактор.
person BI Dude    schedule 21.01.2015