Запрос в многомерных выражениях — возвращает элемент, содержащийся в фильтре

#sql #mdx

#sql #многомерные выражения

Вопрос:

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

Например:

 SELECT NON EMPTY { [Measures].[__No measures defined] } ON COLUMNS, NON EMPTY { ([Archive].[SiteId].[SteId] }ON ROWS FROM [Model] WHERE ( {[Archive].[SiteId].amp;[{e7672ff4-7f0c-4806-8453-744a17bde4ca}],[Archive].[SiteId].amp;[{bb7d8f41-c88a-4bcb-ade8-d0533190185a}],[Archive].[SiteId].amp;[{04cd27b6-e239-4d27-bc58-27f0a8733193}]} )
  

таким образом, в SQL это было бы в основном —

 Select SiteId from Model where SiteId In .....
  

Однако это не сработает, потому что в нем говорится, что элемент SiteID уже содержится в фильтре и поэтому появляется дважды в запросе!

Итак, как можно выполнить фильтрацию по идентификатору сайта и вернуть идентификатор сайта?

Спасибо!

Ответ №1:

Вместо этого я решил использовать DAX. Фактически DAX позволил мне выполнить некоторые лучшие манипуляции с учетом моих данных, что ускорило работу приложения в целом.