Объединение нескольких результатов запроса MDX в одном отчете - PullRequest
0 голосов
/ 13 июля 2011

Я использую MS SQL Server 2008 R2.

У меня проблема, пожалуйста, извините за длинное объяснение.

У нас есть куб SSAS. В настоящее время он находится в стадии разработки, но частично работает и доступен через Excel.

Есть проекты: иерархическое родительско-дочернее измерение Проекту назначены ресурсы (например, человеко-часы, строительные материалы, техника): измерение с типами ресурсов, таблица фактов M2M ProjectId-ResourceId-UnitsCount-Cost Для проектов существуют вехи: измерение с типами вех (некоторые определены), таблица фактов M2M: ProjectId-MilestoneId -... даты вех: запланировано / фактическое начало / завершение

Это упрощенная схема.

Мне нужно создать отчет MS Reporting Services со следующими столбцами:

  1. Иерархия проектов
  2. несколько столбцов с предопределенным и «жестко закодированным» количеством типов ресурсов. Например, бизнес хочет видеть колоссальное количество потраченных человеко-часов и потребление бетона в кубометрах. Эти два пункта могут быть жестко закодированы в запросе.
  3. несколько столбцов с предопределенными и «жестко закодированными» датами типа вехи

это тоже упрощенная схема, нужно больше столбцов с другими срезами измерений ...

Проблема в том, что я не могу найти элегантный способ создания этого отчета.

в моей текущей версии мне нужно создать 2 набора данных и запросить данные о ресурсах и этапах в отдельных запросах MDX. тогда мне нужно использовать функцию RS-lookup, чтобы объединить данные в результате отчета.

Пожалуйста, укажите:

  1. есть ли возможность запросить эти данные в одном запросе MDX. когда я пытаюсь что-то вроде этого: union ({{[Dim Resource]. [Measure]. [человеко-час]} + {[Dim Resource]. [Measure]. [cub-meter]}}, {[Dim Milestone]. [Milestone Type]. [ProjectStart]}) У меня ошибка «другая размерность». Есть обходные пути?
  2. если мне нужно вывести отформатированное значение, например: "X 'человеко-час" / Y "кубометр", я должен использовать функцию поиска для получения обеих частей формулы - лучше?
  3. Могу ли я запросить эти данные другим способом?

Пожалуйста, укажите направление поиска в Google

или ... должен ли я просто запросить данные из исходных таблиц (это допускается ограничениями безопасности) с помощью SQL

заранее спасибо

1 Ответ

0 голосов
/ 07 августа 2011

Возможно, создайте новый «виртуальный куб», который будет содержать данные из обоих существующих кубов, а затем выполните запрос к нему.

...