3

我有一个销售事实表、一个订单事实表(均为行级详细信息)和两个用于订单日期和交易日期的日期角色扮演维度(来自日期维度)。

我试图达到一个可以按订单日期查看销售度量和按交易日期查看订单度量的地步。

如果销售来自订单,则 Sales 表具有相关 Order 行的键,如果是非订单销售,则为 null。Order 表没有任何指向相关事务的链接。

我一直在试图围绕如何根据两个事实表之间的链接对关系建模,而我可以开始工作的唯一方法是基于仅包含键的 Orders 表创建一个维度,然后使用多对多关系......这似乎完全错误,但我不确定这种情况的“正确”方法是什么。

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

关于需要更改哪些内容才能使其正常工作的任何建议?

4

2 回答 2

0

你走在正确的轨道上。我将在关系数据库中创建一个视图或在 DSV 中创建一个命名查询,其中包含作为单列的不同的非空订单 ID,可能将其称为“DimOrderId”。然后从中构建一个维度,将“Null processing”属性(您必须单击“加号”两次才能使 BIDS 中属性的“Key Columns”属性访问此属性)设置为“UnknownMember”。

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

于 2014-01-28T20:14:32.770 回答
0

您应该使用 Order ID 来查找 Order Date 并将 Order Date 维度键放入 Sales Transaction 事实表中。由于每个订单可能有多个交易,因此反过来可能没有意义。如果是 1:1,你可以做相反的事情,但这意味着一旦事务发生就更新订单事实,这可能会影响加载时间的复杂性和性能。确保您确实需要按交易日期订购。

于 2016-04-07T19:29:23.240 回答