Смешивание данных на разных уровнях

Я отредактировал, чтобы перефразировать этот вопрос:

Мы хотим хранить данные о торговле и суб-торговле. Таким образом, чтобы дать представление о данных, у нас есть такие данные:

Торговые данные (реляционный магазин)

| TradeKey1 | TradeLevelMeasure1 |
| TradeKey2 | TradeLevelMeasure2 |

Данные субторговли

| TradeKey1 | SubTradeId1 | Measure2 | Measure3 |
| TradeKey1 | SubTradeId2 | Measure2 | Measure3 |    
| TradeKey2 | SubTradeId1 | Measure2 | Measure3 |    

Любой, мы ищем лучшее решение для моделирования этого в AP.

Если мы используем реляционные хранилища для создания 2 хранилищ с таким же макетом, как указано выше (с хранилищем Sub-Trade, являющимся основным хранилищем ACTIVE_PIVOT), и присоединяемся к ним на основе TradeKey, то мы в конечном итоге неправильно агрегируем по показателям Trade-Level, так сделка копируется в куб для каждой записи дополнительной сделки. (Например, TradeLevelMeasure1 имеет двойное правильное значение, поскольку оно существует в кубе для обеих записей суб-торговли)

Решение, которое мы придумали, состоит в том, чтобы использовать один магазин и добавить новое измерение, чтобы указать уровень торговли (Trade или SubTrade). Итак, мы получаем что-то вроде этого:

| Trade    | TradeKey1 | TradeLevelMeasure1 |             |          |          |
| SubTrade | TradeKey1 |                    | SubTradeId1 | Measure2 | Measure3 |
| SubTrade | TradeKey1 |                    | SubTradeId2 | Measure2 | Measure3 |
| Trade    | TradeKey2 | TradeLevelMeasure2 |             |          |          |
| SubTrade | TradeKey2 |                    | SubTradeId1 | Measure2 | Measure3 |

Таким образом, мы сможем правильно агрегировать, а затем расширять суб-торговые меры, когда это необходимо.

Похоже ли это на жизнеспособное решение или есть лучший способ добиться этого?

1 ответ

Решение

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

Меры, определенные на уровне торговли, агрегируют только среди сделок, в то время как меры суб-торговли имеют смысл только в контексте суб-сделок.

Распределенная архитектура ActivePivot предлагает элегантный способ объединения разнородных кубов на лету: Полиморфное распределение ActivePivot.

Вкратце, вы определите два простых куба, один на уровне торговли, с мерами торговли, а другой на уровне субторговли, который объединяет только меры субторговли. Полиморфное распределение ActivePivot объединит их на лету в виртуальный куб, объединяя общие измерения, а также делая доступными уникальные меры в каждом кубе.

Презентацию распределенной архитектуры ActivePivot вы найдете в Quartet FS User Group 2012 по адресу http://www.youtube.com/watch?v=VnZoelJulM4. Для документации вы можете начать с http://support.quartetfs.com/confluence/display/AP4/ActivePivot+Distributed+Architecture.

Другие вопросы по тегам