2015-01-28 6 views

ответ

3

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

Если вы не можете использовать их в одной таблице фактов, они должны иметь общие размеры (размеры), поэтому их можно объединить в Virtual Cube (до Mondrian 3.8). измерение времени обычно:

ГВС

  • Таблица fact_sales:date_key, ..., sales
  • Таблица fact_cost:date_key, ..., cost
  • Таблица dim_date:date_key, day_of_month, month, year, ...

Mondr Иэн OLAP схемы

  • Dimension [Дата]: таблица dim_date, столбец первичного ключа date_key, year год уровень, уровень месяц ...
  • Куб [Продажи]: таблица fact_sales, измерение [Date] использование date_key, мера sales
  • Куб [Стоимость]: таблица fact_sales, измерение [Date] использование date_key, измерения cost
  • Виртуальный куб [Sales и Cost]: размер виртуального куба [Date], виртуальная мера куба [Sales.sales], виртуальная мера куба [Cost.cost]
+0

Спасибо так много, она работает с виртуальным кубом. – Fierto

+0

Привет, Можно добавить сотрудника по размерам, и дело в том, что он работает с другим отделом через каландр (также измерение) – Fierto

+0

Это приводит к тому, что «сотрудник» выполняет «как медленно изменяющийся размерный тип 2» (тип SCD 2). Каждая запись измерения сотрудника должна иметь «период действия» (effective_date, expiration_date OR valid_from, valid_to pair). Это означает, что у вас есть несколько записей сотрудников для «одного конкретного сотрудника» в рамках измерения. Затем вам нужно убедиться, что таблицы фактов содержат правильные ссылки на записи о размерах сотрудников в соответствии с датой установления фактов по сравнению с периодом действия сотрудника. – mzy

3

Если вы можете использовать Мондриана 4 Вы можете указать точное утверждение SQL, которое должно быть выполнено для извлечения данных для таблицы фактов. Таким образом, вы можете сделать присоединиться на уровне базы данных, как показано ниже:

<PhysicalSchema> 
    <Query alias="FACT"> 
     <ExpressionView> 
      <SQL dialect="generic"> 
       select f.*, f2.measure_2 from FACT f INNER JOIN FACT2 f2 ON f.id = f2.fact_id 
      </SQL> 
     </ExpressionView> 
    </Query> 
</PhysicalSchema> 

Смотрите полный пример здесь: http://thejavatar.com/mondrian-4-in-pentaho-bi-server/

 Смежные вопросы

  • Нет связанных вопросов^_^