0
推荐
2817
阅读

微软BI 之SSIS 系列 - UNPIVOT

开篇介绍在上一篇文章中讲解了在 SQL 和 SSIS 中使用 PIVOT 进行行列转换,在这一篇文章中讲解逆向的 UNPIVOT 操作。注:本文都是 SQL Server 2012 版本,2008 R2 在 SSIS 中配置不同。SQL UNPIVOT 操作测试的源数据要求转换之后的结果。在 SQL 语句中,需要掌握这样的一个转换语法规则就可以非常容易的解决这个问...

发表了文章 • 2016-12-01 18:22 • 0 条评论

0
推荐
3570
阅读

微软BI 之SSIS 系列 - 使用 Row Count 记录从数据源写入目标表的条数

开篇介绍假设在业务中也有这样的一个需求,再从数据源抽取数据到目标表比如 Staging 表时,需要记录每次抽取的条数改如何实现?实际上,实现的方式也很多种,这取决于你的日志系统的设计与架构。这个案例只是简单的用到 SSIS 中的一个可以记录行数的控件 Row Count 来实现一下这个需求。Row Count 的使用首先我们有一张...

发表了文章 • 2016-11-30 15:47 • 1 条评论

0
推荐
3401
阅读

微软BI 之SSIS 系列 - Merge Join 的特征

开篇介绍除了在上一篇介绍到了数据合并的 Merge 控件以及排序控件 Sort 之外,我们还有两个另外的数据流合并组件 Merge Join 和 Union All。 今天这篇文章主要是讲解 Merge Join 控件在 SSIS 中的使用以及它的特点。Merge Join Merge Join 的首要特点是 Join,想到 Join 我们就完全可以想象到我们在 SQL Serve...

发表了文章 • 2016-11-23 10:02 • 2 条评论

0
推荐
2642
阅读

微软BI 之SSIS 系列 - Union All 的使用

开篇介绍在前两篇中讲解到了 Merge 和 Merge Join 的操作,今天这篇文章讲解的是关于 Union All 的操作。Union All 首先在什么时候需要使用到 Union All?与 Merge 和 Merge Join 不同,使用 Union All 的最显著的特点就是:两个或者两个以上的输入源。不需要排序,输出结果也不需要排序。 测试数据-- Merge d...

发表了文章 • 2016-11-21 07:45 • 0 条评论

0
推荐
3821
阅读

微软BI 之SSIS 系列 - 在 Lookup 中使用 Cache Transform 缓存转换的运行时缓存与文件缓存

开篇介绍 在之前的文章中我介绍到了 Lookup 查找转换控件中在 OLE DB 模式下 Lookup 的几种缓存模式: Full Cache 完全缓存,Partial Cache 部分缓存,No Cache 无缓存。这几种缓存模式可以满足我们的绝大部分需要,但是自 SQL Server 2008 R2 开始,SSIS 对 Lookup 的缓存模式做了加强,出现了另外的一种缓存模式 ...

发表了文章 • 2016-11-05 21:23 • 1 条评论

0
推荐
3770
阅读

微软BI 之SSIS 系列 - Merge 合并操作与 Sort 排序

开篇介绍在数据仓库项目中,我们的数据源可能来源不一,比如关于客户的信息可能就有好几个数据源,旧系统导出的文本文件,新系统的数据库表的信息等等。在正式统一处理这些信息之前,有的时候是需要做一些合并操作的,需要先将两部分的数据合并起来统一的存储到一个临时表中,然后再来做去重,筛选等处理。在 SQL Server...

发表了文章 • 2016-11-05 17:21 • 1 条评论

0
推荐
5141
阅读

微软BI 之SSIS 系列 - Conditional Split 条件拆分任务的使用

开篇介绍在 ETL 项目中,SSIS 控制流控件 Conditional Split (条件拆分) 的使用实际上还是比较频繁的。特别出现一个源需要将数据按条件输出到不同的目标表,文件这种情况,条件拆分 Conditional Split 控件就可以派上用场了。Conditional Split 的使用比如说,我们要把订单中在订单时间 OrderDate 和 ShipDate 之间 5 天...

发表了文章 • 2016-10-21 18:32 • 0 条评论

0
推荐
3243
阅读

微软BI 之SSIS 系列 - 从 XML 文件中导入数据

在这篇文章中 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法,讲解了 XML 的输出操作 - 控制流中的输出和数据流中的输出。尽管在 SSIS 中没有 XML Destination,但是 XML Source 还是有的。具体实现步骤新建一个包,在数据流中添加一个 XML Source。双击并编辑 XML Source,我们的测试...

发表了文章 • 2016-09-10 23:21 • 2 条评论

0
推荐
13131
阅读

微软BI 之SSIS 系列 - 父子包及参数传递处理

开篇介绍在比较大的 ETL 项目中,父子包的使用频率非常的高。包括在一些自定义的 ETL 包调度框架中,父子包的使用构成了这些框架的基础。在 ETL 项目中使用父子包主要处于以下几点考虑:ETL 项目的并行开发 - 可以多人同时开发 ETL 子模块,最后统一集成到父包中。业务模块的划分 - 不同的业务模块需要拆分到各个子包,...

发表了文章 • 2016-08-24 15:31 • 0 条评论

0
推荐
3223
阅读

微软BI 之SSIS 系列 - SSIS 中 MySQL 时间和IP地址的转换查询

小笔记 MySQL 中关于时间和 IP 地址的存储都是使用 INT 类型的,因此在从 MYSQL 中抽取数据到 SQL SERVER 中的时候最好提前做好类型转换。在 MySQL 查询中,可以通过两个函数来完成类型转换:FROM_UNIXTIME()函数 —— 完成时间类型从 INT 类型到 DATETIME 的转换,例如在 MySQL 中的查询 - FROM_UNIXTIME(ADD_TIME) AS ...

发表了文章 • 2015-09-29 10:39 • 0 条评论

0
推荐
3462
阅读

微软BI 之SSIS 系列 - 在 SSIS 中导入 ACCESS 数据库中的数据

开篇介绍来自 天善学院 一个学员的问题,如何在 SSIS 中导入 ACCESS 数据表中的数据。在 SSIS 中导入 ACCESS 数据库数据ACCESS 实际上是一个轻量级的桌面数据库,直接使用文件形式存储。在国内大量使用 ACCESS 作为 BI 数据源并不多,但是在国外特别是美国使用的还比较多,因为他们的 IT 基础起步比较早。在我的第...

发表了文章 • 2015-09-28 11:40 • 0 条评论

1
推荐
5830
阅读

微软BI 之SSIS 系列 - ETL 转换时关于 Code Page (1252 and 936) 转换错误的原因和解决方法

开篇介绍最近经常碰到在 ETL 练习中出现这种转换失败的问题,试了多种方式,同样的代码同样的源结构和表结构但是一直不能成功执行,包报错。一般有这么几种错误:Error at DST_LOAD_DATA_FROM_FILE [OLE_DST_EMPLOYEE[109]]: The column "FirstName" cannot be processed because more than one code page (1252 and 936...

发表了文章 • 2015-09-24 19:50 • 1 条评论

2
推荐
3796
阅读

微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧

开篇介绍Execute SQL Task 这个控件在微软BI ETL 项目中使用的频率还是非常高的,也是大部分入门 SSIS 初学者最早接触到的几个控制流控件。我们通常使用 Execute SQL Task 的场景包含但不止于以下几类:在从源端加载数据到 Staging 表之前使用 Execute SQL Task 执行一些 Truncate 操作。执行一些 Log 的插入,更新操作...

发表了文章 • 2015-09-24 19:46 • 2 条评论

2
推荐
3541
阅读

微软BI 之SSIS 系列 - 通过 ROW_NUMBER 或 Script Component 为数据流输出添加行号的方法

开篇介绍上午在天善回答看到这个问题 - SSIS 导出数据文件,能否在第一列增加一个行号,很快就帮助解决了,方法就是在 SQL 查询的时候加一个 ROW_NUMBER() 就可以了。后来想起在两年前我的第一个 BI 项目上也有类似的文件输出需求,但是比这个要复杂的多,因为涉及到多个输入列...

发表了文章 • 2015-09-24 19:35 • 0 条评论

3
推荐
6404
阅读

微软BI 之SSIS 系列 - SSIS 中使用 ODBC 链接 MySQL 以及32位和64位安装的问题

开篇介绍本文描述如何在 SSIS 中使用 ODBC 的方式连接访问 MySQL 数据库,以及其中可能会遇到的 32位和64位访问的问题。下载安装 ODBC 驱动需要在运行 SSIS 的开发或运行环境中安装 ODBC 的驱动,驱动地址如下:http://dev.mysql.com/downloads/connector/odbc/在下载的时候需要用户注册,请自行设置。有两个版本的 ODBC...

发表了文章 • 2015-09-21 09:20 • 3 条评论