在 SQL Server Analysis Services 中创建第一个 OLAP Cube






4.83/5 (273投票s)
学习使用 Microsoft BIDS(商业智能开发工作室)环境和数据仓库在 SSAS(SQL Server Analysis Services)中创建 OLAP Cube。
引言
本文旨在帮助那些希望在 SSAS (SQL Server Analysis Services) 中使用 Microsoft BIDS (Business Intelligence Development Studio) 环境和数据仓库创建 OLAP Cube 的技术新手。我们将首先简要介绍 OLAP Cube 的基本要求,然后通过 10 个简单的步骤在 SQL Server Analysis Service 中创建 OLAP Cube。
在准备 OLAP Cube 之前,我们需要创建并填充数据仓库。如果您对数据仓库概念完全不熟悉,请快速浏览我之前的文章“创建第一个数据仓库”,该文章将为您提供本文中使用的数据仓库概念的简要介绍。
OLAP Cube 简介
什么是 OLAP Cube & 我们为什么需要它?
- OLAP Cube 是一种技术,它以优化的方式存储数据,通过使用维度和度量来快速响应各种复杂的查询。
大多数 Cube 使用其特殊的存储结构存储度量的预聚合,以提供快速的查询响应。 - SSRS 报表和 Excel Power Pivot 用作 SSAS (SQL Server Analysis Services) OLAP Cube 的报表和数据分析前端。
- SSAS (SQL Server Analysis Services) 是 Microsoft 用于创建联机分析处理和数据挖掘功能的 BI 工具。
- BIDS (Business Intelligence Development Studio) 提供了开发 OLAP Cube 并将其部署到 SQL Server 的环境。
- BIDS (Business Intelligence Development Studio) 随 Microsoft SQL Server 2005、2008(例如,Developer、Enterprise Edition)提供。
- 当性能是关键因素时,我们必须选择 OLAP Cube,公司的关键决策者可以随时从您的海量数据库中查询统计数据。
- 我们可以对存储在 Cube 中的数据执行各种类型的分析,还可以基于这些数据创建数据挖掘结构,这有助于预测和预报。
OLAP 和 OLTP 之间有什么区别?
联机事务处理 (OLTP) | 联机分析处理 (OLAP) |
旨在支持您应用程序的日常 DML 操作 | 旨在存储历史数据以分析和预测业务需求 |
存储与您的应用程序相关的每日最新交易数据 | 数据直到上次在您的 Cube 中发生更新为止都是一致的 |
数据以规范化格式存储 | 数据以反规范化格式存储 |
数据库大小通常在 100 MB 到 100 GB 之间 | 数据库大小通常在 100 GB 到几 TB 之间 |
由普通用户使用 | 由与决策过程相关的人员使用,例如经理、CEO。 |
CPU、RAM、HDD 空间需求较低。 | CPU、RAM、HDD 空间需求较高。 |
如果数据量非常大,查询响应可能会变慢,这会影响报表性能。 | 查询响应更快,管理人员可以轻松地对他们的数据进行趋势分析并生成更快的报表。 |
T-SQL 语言用于查询 | MDX 用于对 OLAP Cube 进行查询 |
基本架构
在我们的案例中,数据仓库用作 BIDS 中 Cube 的数据源。一旦 Cube 准备好数据,用户就可以查询在 SSAS 中创建的 Cube。SSRS 报表和 Excel 数据透视表/Power Pivot 可以使用 OLAP Cube 作为数据源,而不是 OLTP 数据库,以获得处理复杂查询的性能。
SSRS 报表、Excel Power Pivot 可用于可视化/分析来自 Cube 的数据。
场景
X-Mart 在我们的城市有不同的购物中心,每天都有各种产品的销售。由于缺乏集成数据,高级管理层在决策时面临问题,他们无法按要求对数据进行研究。因此,他们要求我们设计一个系统,能够快速帮助他们决策并提供投资回报 (ROI)。
因此,作为设计的一部分,我们在之前的文章中完成了第一个数据仓库的设计。现在,我们需要在 SSAS 中设计/创建 OLAP Cube,我们的报表可以对其进行快速查询,我们也可以稍后为用户提供自助 BI 功能。
创建数据仓库
让我们执行 T-SQL 脚本来创建包含事实表、维度并用适当的测试值填充它们的数据仓库。
下载本文附带的 T-SQL 脚本以创建 Sales Data Warehouse,或从本文“创建第一个数据仓库”下载,并在 SQL Server 中运行它。
按照给定的步骤在SSMS (SQL Server Management Studio) 中运行查询。
- 打开 SQL Server Management Studio 2008
- 连接数据库引擎
- 打开新建查询编辑器
- 将下面的脚本按步骤逐一复制并粘贴到新的查询编辑器窗口中
- 要运行给定的 SQL 脚本,请按F5
- 这将在您的 SQL Server 上创建并填充“
Sales_DW
”数据库
开发 OLAP Cube
要在 Microsoft BIDS 环境中创建 OLAP Cube,请遵循下面的 10 个简单步骤。
步骤 1:启动 BIDS 环境
点击开始菜单 -> Microsoft SQL Server 2008 R2 -> 点击SQL Server Business Intelligence Development Studio。
步骤 2:启动 Analysis Services 项目
点击文件 -> 新建 -> 项目 ->Business Intelligence Projects ->选择Analysis Services Project -> 命名项目 -> 点击OK
步骤 3:创建新的数据源
3.1 在解决方案资源管理器中,右键单击数据源 -> 点击新建数据源
3.2 点击下一步
3.3 点击新建按钮
3.4 创建新连接
- 指定您创建了数据仓库的 SQL 服务器名称
- 根据您的SQL Server 身份验证模式选择单选按钮
- 使用您用于连接到 SQL Server 的凭据
- 选择
Sales_DW
数据库。 - 点击测试连接并验证其成功
- 点击**确定**。
3.5 在数据连接中选择创建的连接 -> 点击下一步
3.6 选择继承选项
3.7 命名数据源 -> 点击完成
步骤 4:创建新的数据源视图
4.1 在解决方案资源管理器中,右键单击数据源视图 -> 点击新建数据源视图
4.2 点击下一步
4.3 选择我们之前创建的关系数据源 (Sales_DW
) -> 点击下一步
4.4 首先将您的事实表移动到右侧以包含在对象列表中。
选择 FactProductSales
表 -> 点击箭头按钮将选定的对象移至右窗格。
4.5 现在,要添加与您的事实表相关的维度,请遵循给定步骤
在右窗格中选择事实表 (Fact product Sales) -> 点击添加相关表
4.6 这将根据您 SQL DW (Sales_DW
) 中指定的关系,将所有关联的维度添加到您的事实表中。
点击**下一步**。
4.7 命名 (SalesDW DSV) -> 点击完成
4.8 现在可以使用数据源视图了。
步骤 5:创建新 Cube
5.1 在解决方案资源管理器中 -> 右键单击Cube -> 点击新建 Cube
5.2 点击下一步
5.3 选择使用现有表选项 -> 点击下一步
5.4 从度量组表 (FactProductSales) 中选择事实表名称 -> 点击下一步
5.5 从列表中选择您想放入 Cube 的度量 --> 点击下一步
5.6 在此处选择与您的事实表相关的所有维度 -> 点击下一步
5.7 命名 Cube (SalesAnalyticalCube
) -> 点击完成
5.8 现在您的 Cube 已准备就绪,您可以在解决方案资源管理器中看到新创建的 Cube 和添加的维度。
步骤 6:修改维度
在解决方案资源管理器中,双击维度Dim Product -> 从数据源视图中的表中拖放产品名称,并将其添加到左侧的属性窗格中。
步骤 7:在日期维度中创建属性层次结构
双击Dim Date 维度 -> 将字段从数据源视图中显示的表中拖放到属性 -> 将属性从最左侧的属性窗格拖放到层次结构中间窗格。
按顺序将字段拖入属性到层次结构窗口(年、季度名称、月份名称、周数、英国日期),
步骤 8:部署 Cube
8.1 在解决方案资源管理器中,右键单击项目名称 (SalesDataAnalysis
) -- > 点击属性
8.2 首先设置部署属性
在配置属性中,选择部署 -> 指定安装了 Analysis Services 的SQL Server 实例名称 (mubin-pc\fairy) (计算机名称\实例名称) -> 选择部署模式全部部署(目前) -> 选择处理选项不处理 -> 点击OK
8.3 在解决方案资源管理器中,右键单击项目名称 (SalesDataAnalysis
) -- > 点击部署
8.4 部署完成后,您可以在部署属性中看到部署已完成的消息。
步骤 9:处理 Cube
9.1 在解决方案资源管理器中,右键单击项目名称 (SalesDataAnalysis
) -- > 点击处理
9.2 点击运行按钮来处理 Cube
9.3 处理完成后,您可以看到状态为处理成功 -- > 点击关闭以逐个关闭两个打开的处理窗口。
步骤 10:浏览 Cube 进行分析
10.1 在解决方案资源管理器中,右键单击 Cube 名称 (SalesDataAnalysisCube
) -- > 点击浏览
10.2 将度量拖放到详细信息字段,并将维度属性拖放到行字段或列字段。
现在来浏览我们的 Cube
- 将产品名称拖放到列。
- 将完整日期 (UK) 拖放到行字段。
- 将
FactProductSalesCount
度量放入详细信息区域。
我们将很快看到更多功能 - 如何分配用户友好的名称、命名计算、命名查询、按层次结构排序、隐藏维度属性、创建透视、KPI、安全角色等。
朋友们,如果您喜欢我的文章,请不要忘记给我投票。
享受 SQL 智能。