我已经编辑以重新表述这个问题:
我们要存储贸易和子贸易数据。所以为了给出数据的概念,我们有这样的输入数据:
贸易数据(关系存储)
| TradeKey1 | TradeLevelMeasure1 |
| TradeKey2 | TradeLevelMeasure2 |
子交易数据
| TradeKey1 | SubTradeId1 | Measure2 | Measure3 |
| TradeKey1 | SubTradeId2 | Measure2 | Measure3 |
| TradeKey2 | SubTradeId1 | Measure2 | Measure3 |
我们正在寻找在 AP 中对此建模的最佳解决方案。
如果我们使用关系存储创建 2 个与上述布局相同的存储(子贸易存储是主要的 ACTIVE_PIVOT 存储)并基于 TradeKey 加入它们,那么我们最终会在贸易级别度量上错误地聚合,因为交易被复制到每个子交易条目的多维数据集中。(例如,TradeLevelMeasure1 具有两倍的正确值,因为它存在于两个子交易条目的立方体中)
我们提出的一个解决方案是使用单个商店,并添加一个新维度来指示交易级别(Trade 或 SubTrade)。所以我们得到这样的东西:
| Trade | TradeKey1 | TradeLevelMeasure1 | | | |
| SubTrade | TradeKey1 | | SubTradeId1 | Measure2 | Measure3 |
| SubTrade | TradeKey1 | | SubTradeId2 | Measure2 | Measure3 |
| Trade | TradeKey2 | TradeLevelMeasure2 | | | |
| SubTrade | TradeKey2 | | SubTradeId1 | Measure2 | Measure3 |
这样,我们应该能够正确汇总,然后在需要时扩展子贸易措施。
这似乎是一个可行的解决方案,还是有更好的方法来实现这一目标?