逐步学习 Microsoft 商业智能 - 第 2 天






4.75/5 (40投票s)
逐步学习商业智能 - SSIS 第 2 天
- 下载创建员工表脚本 - 724 B
- 下载 DatabaseBackupProject - 9.3 KB
- 下载 ExecuteSQLTaskProject - 25 KB
- 下载示例数据库 - 427.7 KB
- 下载示例 DW 数据库 - 388.5 KB
- 下载 SSIS - 脚本任务 - 42.5 KB
这篇学习 MSBI 的文章已经过时,请参阅我们使用 SQL Server 2014 的最新文章 https://codeproject.org.cn/Articles/1064477/Learn-to-create-MSBI-Microsoft-Business-Intelligen
引言
这是系列文章中的第二篇:逐步学习 Microsoft 商业智能。
在本系列文章中,我们将逐步学习 MSBI 平台的所有三个组件,即 SSIS、SSAS 和 SSRS。
在 http://www.learnmsbitutorials.net/ 上通过完整的逐步 MSBI 教程学习并深入了解您的知识
完整系列
我们上次学到了什么?
在第一天我们学习了以下内容:
|
![]() |
第二天议程
如何设计数据仓库?
到目前为止,我们已经对数据仓库有了基本了解。它通常是一个以非规范化方式保存数据的数据库。来自多个地方(多个数据源)的数据被收集并存储到 DW(数据仓库)中。SSIS(SQL Server 集成服务)是 Microsoft 用于执行此任务的商业智能平台。
现在的问题是如何设计 DW?
为了设计数据仓库,您必须问自己两个问题。
|
![]() |
DW 主要包含两种主要类型的表。一种是事实表,其中包含业务流程的度量,另一种是维度表,用于对数据进行过滤、分组和排序。在上面的示例中,
- 地点、时间(保存年份的那个)和客户将成为您的维度
- 销售额成为你的事实。
注意:事实和维度只是表。
设计数据仓库就是要,
- 理解业务中的维度和事实
- 并创建适当的表。
维度和事实与传统表有何不同
为了理解这一点,我们举一个例子。看看传统规范化数据库的数据库图。
现在让我们看看如何从上面创建一个 DW
如您所见,
- 传统表被转换为非规范化维度。
- 创建的事实表只包含两件事
- 可用于计算的数字
- 维度表键的引用。
数据仓库设计技术
上述技术中,事实表引用维度表,维度表完全非规范化,从而形成了一个看起来像星形的数据库图,因此被称为星型模式设计。 | ![]() |
在星型模式设计中,一个事实表将由许多维度表包围。
![]() |
还有一种设计数据仓库的方法。它被称为雪花设计。在这种设计中,某些维度表的规范化在一定程度上得到了考虑。 |
星型模式和雪花设计的优缺点
- 星型模式设计由于维度非规范化,因此性能更高。雪花模式的性能相对低于星型模式。
- 星型模式的数据管理比雪花模式更困难,因为数据冗余更高。
- 在星型模式中,查询将更简单,因为连接将相对较少。
结论 – 如果数据完整性和数据冗余是主要问题,雪花模式是最佳选择。如果性能是主要问题,星型模式最适合。
实验 2、3、4 和 5 - 探索控制流。
现在是我们的实验时间了。在上一个实验中,我们创建了一个简单的 SSIS 包来演示 ETL 过程。在本文中,我们将继续我们的实验并探索更多的控制流任务。
实验 2 - 执行 SQL 任务
此任务允许我们通过包执行自定义 SQL 脚本。
步骤 1. 创建表
在您的 SQL 数据库中创建如下表
注意: EmployeeId 是标识列。
步骤 2. 创建 SSIS 项目
创建一个新的空 SSIS 项目,就像我们在实验 1 中创建的那样。
步骤 3. 创建连接管理器
3.1 右键单击连接管理器并选择新建 ADO.NET 连接。
3.2 单击新建
3.3 输入服务器名称,输入凭据,选择数据库,然后单击确定。
3.4 再次单击确定。
3.5 将连接管理器重命名为 Lab2Connection。
步骤 4. 添加执行 SQL 任务
在 SSIS 设计器中,默认选择控制流。从工具箱中取出“执行 SQL 任务”并将其添加到设计器中。
步骤 5. 配置“执行 SQL 任务”
5.1 双击任务,它将打开“执行 SQL 任务编辑器”
5.2 确保左侧部分已选中“常规”。在右侧“SQL 语句”组下,将连接类型从默认的 OLEDB 更改为 ADO.NET。
5.3 接下来将连接属性设置为步骤 3 中创建的连接。
5.4 接下来是 SQLSourceType。它支持三个值,
5.4.1 文件连接 – 允许我们执行存储在文件中的 T-SQL 语句。
5.4.2 变量 – 允许我们执行存储在其中一个变量中的 T-SQL 语句。
5.4.3 直接输入——让我们提供要执行的 T-SQL 语句
注意:选择上述值之一后,属性窗口中将显示一个动态选项。对于“直接输入”将显示一个名为“SQL 语句”的属性,对于变量将显示一个名为“源变量”的属性,对于文件连接将显示一个名为“文件连接”的属性。
对于我们的选择“直接输入”。
5.5 单击“SQL 语句”。将出现一个带有三个点的按钮。单击它。它将弹出“输入 SQL 查询”对话框。在其中输入查询并单击确定。
5.6 在“执行 SQL 任务编辑器”窗口中单击确定。
步骤 6. 执行包
按 F5 执行包。
步骤 7. 测试执行
打开 sql server 数据库并确认记录已插入。
注意:我们使用硬编码查询进行演示。您可以检查标识列并确认值是否实际插入。
步骤 8. 为下一个实验做准备
吃点东西,休息一下,为下一个实验做准备。
步骤 3. 添加备份数据库任务
从工具箱中取出“备份数据库任务”并将其添加到控制流设计器窗口
步骤 4. 配置备份数据库任务
4.1 双击任务,它会弹出配置窗口。
4.2 首先要配置的是顶部的连接。选择在步骤 3 中创建的连接管理器。
注意:这里会发生一件非常奇怪的事情。您将在下拉列表中找不到连接管理器(在步骤 3 中创建)。为此,
4.2.1 关闭窗口。
4.2.2 右键单击您的连接管理器并转到属性。
4.2.3 检查 Qualifier 属性的值。它将是这样的:“System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”。
4.2.4 将其更改为简单的“SQL”。
4.2.5 再次双击备份任务。现在您将在下拉框中找到连接管理器。
4.3 在连接下方,您会找到“数据库”选项。从列表中选择一个或多个数据库。
4.4 其他设置保持不变,只需选择您要保存数据库备份的路径即可。
4.5 单击确定
步骤 5. 执行包
按 F5 执行包。
步骤 6. 测试执行
转到所选路径,查看是否已创建备份。
如果备份文件存在,则可以进行下一个实验了。
实验 4 – 脚本任务和变量
在这个实验中,我们将学习两件事。
- 脚本任务 – 它允许我们执行任何现有 SSIS 任务无法完成的操作。它允许我们用 C# 编写代码并执行自定义操作。
- 变量 – 我们将学习如何声明变量、如何为它们赋值以及如何在脚本任务中使用它们。
注意:一旦创建并分配了一些值,变量就可以用作许多任务的输入。例如,作为执行 SQL 任务的输入,或者可以在我们将在本实验中执行的脚本任务中使用。
步骤 1. 创建 SSIS 项目
创建一个新的空 SSIS 项目。
步骤 2. 创建变量并赋值
2.1 执行以下操作之一,
-
右键单击控制流并选择变量。
-
单击 SSIS 设计器右上角的蓝色按钮。
它将打开变量窗口。
2.2 单击“添加变量”按钮
2.3 定义变量并赋值。
步骤 3. 将脚本任务添加到控制流
从工具箱中取出脚本任务并将其添加到控制流
步骤 4. 配置脚本任务。
4.1 双击脚本任务。它将打开脚本任务编辑器。
4.2 接下来我们必须配置要传递给脚本的变量。我们可以将变量作为只读变量或读写变量传递。单击 ReadOnlyVariable 或 ReadWriteVariable 前面的三个点按钮。
选择变量并单击确定。
4.3 接下来,单击编辑脚本。
它将打开一个新的 Visual Studio 实例,其中包含一个“.cs”扩展名文件。
4.4 在 main 方法中编写以下代码。
public void Main() { // TODO: Add your code here MessageBox.Show(Dts.Variables["Website"].Value.ToString()); }
4.5 按 Ctrl+Save 保存文件。
4.6 关闭当前 Visual Studio 并返回到打开“脚本任务编辑器”的 SQL Server Data Tools。
4.7 单击确定。
步骤 5. 执行包。
按 F5 并执行应用程序。
步骤 6. 检查输出

庆祝时间
下一步?
在接下来的文章中,我们将更多地讨论 SSIS。
- 我们将涵盖更多控制流和数据流任务。
- 将讨论错误处理。
- 将讨论变量和表达式。
- 还有很多其他内容。
希望您喜欢阅读这篇文章。您的评论、投票和建议是我们撰写更多此类内容的动力。
如需 WCF、MVC、商业智能、设计模式、WPF 和 UML 等各种主题的技术培训,请随时联系 SukeshMarla@Gmail.com 或访问 www.sukesh-marla.com
有关更多类似内容,请单击此处。订阅文章更新或在 Twitter 上关注 @SukeshMarla
您也可以参考以下 1 小时 MSBI YouTube 视频:- 4 天学习 MSBI。
查看 .NET、C#、ASP.NET、SQL、WCF、WPF、WWF、SharePoint、设计模式、UML 等中的 600 多个常见问题解答。
点击此处获取更多 MSBI 逐步教程。