微软BI开拓者

首页 » 数据仓库专区 » ETCL设计 » 请教一个组合主键的ETL难题?
ok8209 - 2008-4-6 19:03:00
源系统中有以下两个表:

销售表XS(对应事实表):门店编码、柜台编码、销售额
柜台表GT(对应维度表):门店编码、柜台编码、柜台名称,其中 门店编码+柜台编码 是组合主键,因为单柜台编码有重复值
门店表MD(对应维度表):门店编码、门店名称


对于这样的情况建DW时,用星型还是用雪花型好?事实表和维度表应该怎么对应关系?事实表ETL的时候代理键如何处理?请高手指教,感谢
tiandehui - 2008-4-6 21:51:00
我也是刚学:希望分享;
1。你的门店表还有存在的价值吗?为何不加在柜台表中
2。柜台表GT 组合建说明了一个门店有几个柜台吧。。

现在说下你提出的问题:
1。用星型吧  销售事实表与柜台表都有门店编码和柜台编码啊
2。事实表和维度就是一个一对多的关系啊
3。ETL不用处理代理键嘛,ETL和数据库根本就不在一个层面上,这个你可以试一下。

见笑了。。
ok8209 - 2008-4-8 9:40:00
谢谢回答。我的门店维度不能取消,因为它是共享维度,其它事实要用到。
zxhx - 2008-4-17 23:22:00
事实表的主要特征还是销售额,如果用雪花型架构,而门店下面的肯定是柜台,门店与柜台的关系是一对多的关系。如果需要统计到门店的销售额,雪花型架构如下:
事实表需要用到的字段是:门店编码+柜台编码的组合,销售额;
柜台维度用到的字段:门店编码+柜台编码的组合,门店编码,柜台名称;
门店维度用到的字段:门店编码,门店名称;
事实表通过组合键与柜台维度的组合键关联,而柜台维度通过门店编码与门店维度的门店编码关联,形成雪花架构。
100 - 2008-6-11 9:42:00
sql2005没有sql2000那么周到,在设计界面不能够使用多个字段的联合主键了,只能在ETL过程中构建一个字段的联合主键,同时在维度表中也有一个字段作为对应。
其实,可以将sql2000里面带有多字段联合主键的cube导入到sql2005里面,然后用SSAS打开,查看cube的xmla,然后仿照xmla建立新的cube。哈哈,比较弱智的方法,谁让sql2005是个试用品呢!
tiandehui - 2008-6-11 11:50:00
:default1: 楼上的哥哥,SSAS里可以使用组合组键哈
1
查看完整版本: 请教一个组合主键的ETL难题?