[英]Loading Fact Tables with SQL Server
我正在使用 SQL Server 2008 和 Analysis Services 创建一个仓库。 我已经成功地创建并填充了维度表,但是我在编写 SQL 来加载事实表时遇到了很多麻烦。 一方面,我不确定如何使用维度表中的 PK 加载事实表的键。 我尝试编写一个包含一系列 JOIN 的查询来获取我想要的键和度量,但是语句变得如此复杂以至于我迷路了。
这是我必须使用的星型模式:
我究竟做错了什么? 我觉得我缺少一些非常基本的东西,但我对此很陌生,我在网上找到的大部分信息似乎都与使用 SSIS 有关,我没有安装它。
任何帮助,将不胜感激。
Todays Data Warehouse Developer 使用 SSIS 加载维度模型。 通常,查找用于将维度属性转换为键。 大多数时候,数据将位于另一台服务器上或平面文件中或其他迫使您使用 ETL 工具(如 SSIS)的东西,但在您的情况下,您可以在没有的情况下完成它。 如果您的企业对 BI 很认真,您应该推动安装 SSIS 并学习它。
对于您的情况,假设您有一个在本地加载原始事实的表,您应该能够进行插入/选择。
基本上,您需要将每个维度内部联接(因为您在填充维度表时没有遇到任何问题)到原始事实表。 就像是:
INSERT trainingcentrefact
(timekey,locationkey,instructorkey,coursekey,paid,notpaid,... etc)
SELECT
t.timekey
,l.locationkey
,i.instructorkey
,c.coursekey
,rf.paid
,rf.notpaid
,... etc
FROM rawfacts rf
INNER JOIN timedimension t ON rf.time = t.time
INNER JOIN locationdimension l on rf.location = l.location
INNER JOIN instructordimension i on rf.instructor = i.instructor
INNER JOIN coursedimension c on rf.course = c.course
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.