建模两个事实表之间的关系



我有一个销售事实表,一个订单的事实表(既有行级详细)和两个日期重演游戏尺寸(从日期维度),订单日期和事务日期。

我正在尝试通过订单日期和订单措施通过交易日期来查看销售措施的地步。

如果销售来自订单,则销售表具有相关订单行的钥匙,如果是订单,如果是非订单销售,则具有无效行。订单表没有指向相关事务的任何链接。

我一直在试图根据如何基于两个事实表和我可以使用的唯一方法来建模的关系来缠绕我的头钥匙,然后使用多一的关系……这似乎完全是错误的,但是我不确定对这种情况的"正确"方法是什么。

如果我希望在订单日期查看销售措施时,我希望非订单销售显示为"未知"订单日期,这样您就可以看到完整的图片,而不仅仅是订单的销售。使用上述方法,这不会发生。

关于需要更改的任何建议才能使它起作用?

您在正确的轨道上。我将在关系数据库中创建一个视图或DSV中包含的命名查询,该查询包含单列,即独特的非序列ID,也许将其称为" DimorderID"。然后从中构建一个维度,将" null Processing"属性设置(您必须单击"键列"属性在投标中的"键列"属性两次以访问此属性)。

然后将此维度用于多对多关系。

您应该使用订单ID查找订单日期,并在销售交易事实表中放置订单日期键。由于每个订单可能有多次交易,另一种方式可能没有意义。如果是1:1,则可以进行反向,但这意味着一旦事务发生,可能会更新订单事实,这可能是负载时间的复杂性和性能命中。确保您确实需要按事务日期订购。

最新更新