SSAS:关于父子维度的设计
发布时间:2016-05-21 16:10:40 所属栏目:MsSql教程 来源:站长网
导读:除了之前的几篇文章中出现的时间维度,雪花型维度的设计之外还有一种比较特殊的维度 - 父子维 度。父子维度特殊就特殊在它包含了一种基于递归关系(Recursive Re
除了之前的几篇文章中出现的时间维度,雪花型维度的设计之外还有一种比较特殊的维度 - 父子维 度。父子维度特殊就特殊在它包含了一种基于递归关系(Recursive Relationship)的引用结构, 在我的这篇文章中提到了如何基于父子层次结构来设计和制作 SSRS 报表,不过那个报表是基于数据仓 库的。而现在我们要设计的是基于父子结构的维度,在此基础之上我们也可以设计出基于 SSAS 数据库 的 SSRS 报表。
下面仍然是我们的测试表和数据,测试表包含了一个员工维度表和销售的事实表。 USE BIWORK_SSIS GO IF OBJECT_ID('FactResellerSales','U') IS NOT NULL DROP TABLE FactResellerSales GO IF OBJECT_ID('DimEmployee','U') IS NOT NULL DROP TABLE DimEmployee GO SELECT EmployeeKey, ParentEmployeeKey, EmployeeNationalIDAlternateKey, CASE WHEN ISNULL(MiddleName,'') = '' THEN FirstName +' '+ LastName ELSE FirstName +' '+ MiddleName +' '+LastName END AS FullName, Title INTO DimEmployee FROM AdventureWorksDW2012.dbo.DimEmployee SELECT ProductKey, OrderDateKey, EmployeeKey, SalesOrderLineNumber, SalesOrderNumber, UnitPrice, ProductStandardCost, SalesAmount INTO FactResellerSales FROM AdventureWorksDW2012.dbo.FactResellerSales GO ALTER TABLE DimEmployee ADD CONSTRAINT PK_EmployeeKey PRIMARY KEY CLUSTERED (EmployeeKey) GO ALTER TABLE DimEmployee ADD CONSTRAINT FK_ParentEmployeeKey FOREIGN KEY(ParentEmployeeKey) REFERENCES DimEmployee (EmployeeKey) GO ALTER TABLE FactResellerSales ADD CONSTRAINT PK_Reseller_OrderLineNumber_OrderNumber PRIMARY KEY CLUSTERED (SalesOrderLineNumber,SalesOrderNumber) GO ALTER TABLE FactResellerSales ADD CONSTRAINT FK_EmployeeKey FOREIGN KEY(EmployeeKey) REFERENCES DimEmployee(EmployeeKey) GO SELECT * FROM DimEmployee SELECT * FROM FactResellerSales 员工表中的 ParentEmployeeKey 指向了自身的主键 EmployeeKey,而 FactResellerSales 中的主键 是由 SalesOrderLineNumber 和 SalesOrderNumber 构成的一个复合主键,并且 EmployeeKey 指 向了 DimEmployee 的 EmployeeKey。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 亚马逊泄漏Office 2003价格 微软怒查原因
- sql-server – 在SQL数据库上实施“零或一对一”关系?
- sql – 出生日期的CHECK约束?
- 如何安全有效的保护iis服务正常运行
- sql – 关于使用大型数据库,我需要了解什么?
- sql-server-2000 – 如何从PHP 5.3及更高版本连接到MSSQL 2
- 解决 .NET Core 中 GetHostAddressesAsync 引起的 EnyimMem
- sql-server – SELECT语句中的OPTION FAST有什么作用?
- 详解SQL Server的差异备份还原
- sql-server – WHERE中条件和条件顺序的逻辑运算符OR AND
站长推荐
热点阅读