繁体   English   中英

SSAS:我的维度表可以包含事实表中没有的键吗?

[英]SSAS: Can my Dimension Table contain keys that are not in the Fact Table?

这是一个非常基本的问题,但我找不到确切的答案。 维度表中是否可以有事实表中没有的值? 我意识到相反的方向是一个问题。 我的事实表中没有维键,维表中不存在维键,但是反过来又如何呢?

我有一个包含所有客户的客户表。 然后,我有一个包含客户ID的订单事实表,但是,并非所有客户都曾订购过某些东西,因此,订单事实并不包含客户表中每个客户的客户ID。

这似乎是一个合理的情况,但是在处理多维数据集时,我遇到了找不到键的问题,除了使用我的维度的命名查询(其中我专门过滤掉没有任何订单的客户)之外,没有其他方法可以解决该问题。 这样可以解决该错误,但是如果不需要,我宁愿不必这样做。 也许我的“找不到关键”错误确实还有另一个潜在的问题。

因此,我希望有人可以明确地告诉我我的方案是否可行。 我的维表中的记录可以比事实表中的记录多吗? 如果是这样,那么我将花费更多时间尝试找出错误。 如果没有,我将辞职,为需要使用它的每个事实创建客户表的多个视图。

谢谢

我会说是的……设置中几乎没有“危害”,最多您存储的字节数可能超出了您的需要。 在这种情况下,在维度表中拥有尚未订购任何商品的客户不会损害任何东西,并且很可能会在客户从创建到订购再到创建和订购的过程中迈出一个必不可少的步骤。

通常,维度表往往是从事实表派生的,而如何从事实表派生的事实表派生的维度表中的值有点令人困惑...但是我可以在您的表中看到它设定

我经常发现,“归档”维度值可以在所有引用该事实的事实记录被重新指向之后徘徊很长时间。

对我来说似乎无害无犯...

当然是。

一般来说,您需要“一致的维度”,即可以在事实表之间共享的维度。

假设您的customer_orders_product事实表使用从2010年1月1日到2013年12月31日的日历维度。

但是现在您添加了一个新的事实表Warehouse_receives_shipment,该数据可以追溯到2005年。

您不需要两个日历维度表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM