在阅读 SQL 时,我对新加载到事实表中的数据如何获得其 FK 感到困惑。用下面的例子说(图片来自谷歌):
这是我对如何加载数据的想法
SaleID
是自动生成的(例如增量),以便为新行提供唯一 IDSalesQuantity
,SalesPrice
,SalesAmount
,ReceiptID
,TimeStamp
被加载到factSales
问题是这个新加载的数据如何知道它应该添加什么 FK ( DateKey
, CustomerKey
, StoreKey
, )?ProductKey
我对维度表的理解是它描述了factSales
.
例如,dimDate
将具有截至 2050 年的预填充日期数据。如果将日期数据加载到factSales
,它应该在TimeStamp
其中包含诸如 的数据2020-05-01 13:00
,如何FK1 DateKey
知道如何将其自动分配给日期 2020-05- 01?其他维度也是如此CustomerKey
,例如已经存在一些客户数据的维度。
谢谢你。
您使用源数据中存在的业务键将销售临时表连接到维度以解析维度键,例如,您使用如下查询加载 FactSales: