Я редактировал, чтобы перефразировать этот вопрос:Смешивание данных на разных уровнях
Мы хотим хранить данные о торговле и подторговле. Таким образом, чтобы дать представление о данных, мы имеем входные данные, как это:
торговых данных (реляционная магазин)
| TradeKey1 | TradeLevelMeasure1 |
| TradeKey2 | TradeLevelMeasure2 |
Sub-Trade Data
| TradeKey1 | SubTradeId1 | Measure2 | Measure3 |
| TradeKey1 | SubTradeId2 | Measure2 | Measure3 |
| TradeKey2 | SubTradeId1 | Measure2 | Measure3 |
Все мы ищем лучшее решение для моделирования этого в AP.
Если мы используем реляционные хранилища для создания 2 магазинов с тем же самым расположением, что и выше (с хранилищем Sub-Trade, являющимся основным магазином ACTIVE_PIVOT) и присоединяться к ним на основе TradeKey, то мы в конечном итоге неправильно агрегируем на уровне Trade-Level мер, так как торговля копируется в куб для каждой записи в Суб-торговле. (Например, TradeLevelMeasure1 имеет двойное правильное значение, как оно существует в кубе для обоих подторговых записей)
Решение, которое мы разработали, состоит в использовании одного магазина и добавлении нового измерения, указывающего уровень торговли (Торговля или подтрейдинг). Таким образом, мы получаем что-то вроде этого:
| Trade | TradeKey1 | TradeLevelMeasure1 | | | |
| SubTrade | TradeKey1 | | SubTradeId1 | Measure2 | Measure3 |
| SubTrade | TradeKey1 | | SubTradeId2 | Measure2 | Measure3 |
| Trade | TradeKey2 | TradeLevelMeasure2 | | | |
| SubTrade | TradeKey2 | | SubTradeId1 | Measure2 | Measure3 |
Таким образом, мы должны быть в состоянии правильно агрегировать, а затем расширить на суб-торговых мер в случае необходимости.
Это похоже на жизнеспособное решение, или есть лучший способ достичь этого?