繁体   English   中英

使用 SQL 服务器加载事实表

[英]Loading Fact Tables with SQL Server

我正在使用 SQL Server 2008 和 Analysis Services 创建一个仓库。 我已经成功地创建并填充了维度表,但是我在编写 SQL 来加载事实表时遇到了很多麻烦。 一方面,我不确定如何使用维度表中的 PK 加载事实表的键。 我尝试编写一个包含一系列 JOIN 的查询来获取我想要的键和度量,但是语句变得如此复杂以至于我迷路了。

这是我必须使用的星型模式:

http://i.imgur.com/C3DGj.png

我究竟做错了什么? 我觉得我缺少一些非常基本的东西,但我对此很陌生,我在网上找到的大部分信息似乎都与使用 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.

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