Подведение нескольких запросов MDX в SSAS

Мне нужно SUM результаты нескольких запросов.

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

я должен иметь возможность комбинировать / суммировать эти элементы по нескольким запросам mdx

WITH Member [M1] AS Sum(DateRange, Measure) SELECT [M1] FROM [Cube] WHERE {[x].&[y]} WITH Member [M1] AS Sum(Different DateRange, Measure) SELECT [M1] FROM [Cube] WHERE {[z].&[q]} 

каждый запрос выбирает одни и те же члены на основе разных критериев.

единственный способ, которым я могу думать об этом, – это UNION, а не SUM ([M1]), но не знаю, как это возможно в MDX

UPDATE – в ответ на вопрос icCube, вот почему мне нужно иметь отдельное предложение WHERE для каждого запроса:

Мне нужны отдельные разделы WHERE для каждого запроса, потому что мне нужно агрегировать результаты разных фрагментов. и мои срезы определяются n числом измерений. я излагаю mdx-запрос для каждого фрагмента динамически на основе ввода пользовательской конфигурации (и динамически создаю предложение WHERE для фильтрации по пользовательским настройкам). Пользователям разрешено настраивать перекрывающиеся срезы (это те, которые мне нужно суммировать вместе). то мне нужно объединить эти ряды строк в отчет. То, как я делаю, – передать строку с запросом MDX в отчет. но так как я не могу придумать способ получить несколько запросов в одну исполняемую строку (и я не знаю, сколько запросов будет), этот подход больше невозможен (если не существует какого-либо способа объединения / суммирования их.

Единственный способ, которым я мог бы сейчас это сделать, – это дополнительный шаг пакетной обработки, который будет выполнять итерацию по всем запросам, обрабатывать их (используя Adomd.net) в промежуточную таблицу, а затем я могу объединить их в отчет с использованием суммы SQL ( ..). Наибольшим недостатком такого подхода является дополнительная система, которая будет поддерживаться, и больше возможностей, которые данные в отчете будут устаревать.

Не уверен, что это то, что вы ищете

 WITH Member [M1] AS Sum(Different DateRange, ([z].&[q],Measure) ) + Sum(DateRange, ([x].&[y],Measure)) SELECT [M1] FROM [Cube] 

или

 WITH Member [M1] AS Sum(Different DateRange * {[z].&[q]}, Measure ) + Sum(DateRange * {[x].&[y]}, Measure) SELECT [M1] FROM [Cube] 

Я не знаю, как добавить результат двух вариантов в MDX …

Я считаю, что вам нужен Aggregate() not Sum.

Вы можете реализовать поведение UNION в MDX с помощью SubCubes следующим образом:

 Select {...} On Columns, {...} On Rows From ( Select { {Dimension1.Level.Members * Dimension2.&[1] * Dimension3.&[2]}, {Dimension1.&[X] * Dimension2.Members * Dimension3.&[5]} } On Columns From [Cube] ) 
  • Сумма сумм SSAS, основанная на ежедневных курсах обмена валюты
  • SSAS - Годовая годовая сумма
  • Сортировка с использованием запроса MDX
  • Столбцы MDX в виде строк
  • Business Intelligence - анализ событий, а не агрегатов? Какой правильный подход
  • Проблема при подсчете членов в наборе результатов
  • MDX: как получить форматированное значение атрибута?
  • MDX - количество фильтров CROSSJOIN - проблемы с производительностью
  • MDX: как получить данные на основе последней даты для каждого идентификатора студента
  • Вычисление% ставки на основе двух измерений даты в одном кубе
  • MDX DRILLTHROUGH Сбой, но выбор может быть успешно выполнен
  • Interesting Posts

    SSRS – общее количество групп в пределах записи

    Как добавить тип данных XML в предложение GROUP BY?

    Ошибка конверсии при преобразовании значения varchar 'njtestagt' в тип данных int

    C # – определение наличия хранимой процедуры

    50894 Чтение ERROR: неверный синтаксис рядом с ключевым словом «пользователь» при попытке выбрать запрос для сравнения имени пользователя и пароля

    SqlCommand медленный при выполнении запроса с параметрами

    MS SQL объединяет строки даты в дату начала

    Подсчитайте все строки из всех таблиц в двух базах данных на разных серверах

    Как искать значения уровняOrder un SQL?

    SQL Row Sum для некоторых колонок

    Как я могу создать схему базы данных динамически с помощью Entity Framework в Azure SQL Database?

    Как получить таблицу строк мастера только в том случае, если таблица сведений удовлетворяет условию?

    Переместить значения столбца таблицы SQL Server в другой столбец таблицы

    Обновить запрос с помощью INNER JOIN между таблицами в двух разных базах данных на 1 сервере

    Напишите один запрос для поиска между двумя датами, а когда дата недоступна, он должен искать больше, чем первая дата

    Давайте будем гением компьютера.