【发布时间】:2012-07-23 17:52:22
【问题描述】:
我是多维数据仓库的新手,我的工作场所是 为报告目的开发数据仓库解决方案,所以这可能是一个 愚蠢的问题,但它就在这里......
我的事实表中的每条记录都有链接到各自维度表的 FK 列(例如 dimCustomer、dimGeography、dimProduct)。
在 ETL 过程中加载数据仓库时,我首先加载包含详细信息的维度表,然后加载事实表并进行查找转换以找到要放入事实表的 FK 值。这样做时,事实表中的每一行似乎都有相同值的 FK(例如,row1 在每列中的 FK 为 1,row2 的值为 2...等等)
我只是想知道这是否是典型的,或者我是否需要重新考虑仓库和 ETL 流程的设计。
任何建议将不胜感激。
谢谢
【问题讨论】:
-
只是补充一点,当我装载仓库时,我会先清空它,然后再装载它。
-
需要更多背景知识。可能由于您加载的顺序,FK 值自然会按该顺序下降。在源数据中找到一个实例,其中两行具有相同的客户和不同的地理位置,并查看这些点的值是什么。如果它们仍然相同,那么您可能加载不正确。更简单地说,您的 dimGeography 表中有多少 'Texas' 条目?
-
同意@WilliamToddSalzman。你很有可能只是“幸运”了。但是请注意,如果事实中的每一行在维度中都有一行,则该数据值可能不属于维度 - 例如,如果您有 DimTransactionNumber。
-
@N West 在这种情况下,我想我可能不得不重新考虑数据仓库的设计,因为我的 OLTP 中的每一行都作为我的事实表中的单独行以及随之而来的维度加载.
-
提供更多详细信息:数据库的性质是为联络中心处理有关各种客户的各种产品的呼叫。呼叫可以包括各种类型(例如,一般、投诉、杂项)。我需要记录谁来电和通话时长的详细信息。目前我有每个调用类型的事实表,如 FactGeneral、FactComplaint、FactMisc。
标签: ssis ssas data-warehouse sql-server-2012