进入了新的公司,开始接触新的方向,内心激动而又兴奋,对于BI以前知道的极少,从今天开始要好好学习了~

BI的概念,功能,强大之处在此先不做赘述,BI之路先要一步一个脚印扎实做起,现在正在看的也是之前好多大神们推荐的《SQL SERVER 2008商业智能完美解决方案》,相信无论对初学者还是BI高级开发人员都有启示。

首先,ETL工作之一,最简单的是SSIS包的设计-调试-执行-部署,做完我才发现原来微软Integration Services工具集的强大之处,比如今天做的Excel-->DB表的导入,只要设计一个SSIS包,执行一下就完成了EXCEL数据的导入,相比之前用C# 在VS里开发,不用写一行代码,不仅有可视化环境,还有强大的参数功能设置,甚是好用,如果使用了这个思路,相信以后开发会少很多繁琐,思路更加清晰,也会爱上BI这条路。

======================================================================================================

SSIS简介:

SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载 (ETL) 包)的平台,

Integration Services 包括用于生成和调试包的图形工具和向导;用于执行工作流函数(如 FTP 操作)、执行 SQL 语句或发送电子邮件的任务<基础第一步>;用于提取和加载数据的数据源和目标;用于清理、聚合、合并和复制数据的转换;用于管理 Integration Services 的管理服务 Integration Services 服务;以及用于对 Integration Services 对象模型编程的应用程序编程接口 (API)。

SSIS的典型用途:

1>合并来自异类数据存储区的数据

2>使管理功能和数据加载自动化

3>填充数据仓库和数据集市

4>清除数据和讲数据标准化

5>讲商业智能置入数据转换过程

SSIS/ETL设计练习一:《excel ->DB 表》

要求:把excel一次性导到数据库中。

步骤:

1、打开VS(BIDS),新建Integration Services项目,在SSIS包文件夹右键新建一个Package包(.dtsx)格式,

2、在控制流界面从工具箱拖放‘数据流任务’空间,右键编辑-->打开数据流界面编辑‘数据源’,‘转换’,‘数据目标’控件分别编辑

excel源:位置路径,列,映射

DB数据目标:server IP,用户名,密码,映射

编辑过程中,有红色X的话说明有问题,绿色说明检查通过。执行包或者数据流任务时,可以查看执行进度以及设置断点调试

        

右键执行包。可以看到执行进度,完成后导入数据库相应记录条数。

Notes:

为了避免数据类型不匹配不匹配导致需要增加数据转换,或者长度不匹配导致的字符串截,可以简单的在oledb目标里直接自动创建数据库连接里新的表,以达到自动适应的目的。

SSIS/ETL设计练习二:《DB->excel表》

要求:把设计好的包部署到sql server JOB中,每个月末定期运行一次,包的功能是:分别把段sql 查询语句段结果查询出来,导出到连个excel中,方案解析看Notes。

步骤:

1>建立数据流任务1,编辑数据流任务,添加oleDB源,添加excel目标源,分别编辑,(等出现提示不匹配的时候再增加‘数据转换’的控件)

2>oledb数据源编辑:连接器,访问模式:sql命令,sql文本:填写SQL查询语句,参数用?代替,然后编辑参数映射,参数值为设定的默认值,如:string /datetime类型:‘2015-09-01’,然后点击“分析查询”,能正确分析说明没有问题。

    

2>编辑excel目标路径。需要在filepath路径下新建立一个excel目标文件,然后在.xlsx目标文件内写入数据。

Notes:

因为要求是两段sql语句都是用相同的参数,并且需要每个月末运行一次,查询的是从月初到月末这一参数范围内的记录数,所以可以把两段SQL放在一个控制流的序列容器中,然后在开始的时候(序列容器之前)添加一个给SQL 语句段参数赋值的SQL任务,这样的话部署到sqlAgent后每个月末执行的时候不会再取默认值,而是把当前时间作为第二个参数,第一个参数为计算出的本月初时间《选取10位nvarcha(10)字符串格式,不会出错,如‘2015-09-30’》

如图:

这样的话就做好了,可以看到执行结果

BI之路学习笔记1--SSIS包的认识和设计的更多相关文章

  1. BI之路学习笔记2--SSIS/ETL设计练习三:《DB->定期生成excel表》

    上次笔记记到,用sql任务给参数赋值,映射到变量,然后把数据流任务放到序列容器中进行执行,可以定期生成excel, 现在的问题是: 在EXCEL目标编辑过程中,必须选定某一个特定的excel目标,这样 ...

  2. BI之路学习笔记3--olap cube理解实例

    为什么会产生OLAP? 随着数据库技术的发展应用,数据库存储的数据量从M字节以及G(千兆)字节过渡到T字节和P字节,同时,用户的查询需求也越来越复杂,设计的已不仅是查询或者操纵一张关系表中的一条或几条 ...

  3. [转帖]Linux学习笔记之rpm包管理功能全解

    Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...

  4. Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色

    上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...

  5. Dynamic CRM 2013学习笔记(二十九)报表设计:reporting service 报表开发常见问题

    在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有:再就是分页问题,经常 ...

  6. Netty4 学习笔记之三:粘包和拆包

    前言 在上一篇Netty 心跳 demo 中,了解了Netty中的客户端和服务端之间的心跳.这篇就来讲讲Netty中的粘包和拆包以及相应的处理. 名词解释 粘包: 会将消息粘粘起来发送.类似吃米饭,一 ...

  7. 2017/1/7 学习笔记 jar包,maven

    ① 关于tar,jar,war文件 tar是通用的另一种打包格式,为了部署到服务器时方便. jar是java app server识别的java部署格式,其实是Zip文件,只是内部的文件有规范. wa ...

  8. Python 2.7 学习笔记 模块和包

    我们来考虑下如下几种场景: 1.编写一个python程序,如果程序比较简单,则可以把代码放到一个python文件中.但如果程序功能比较多,可能需要多个python文件来组织源代码.而这些文件之间的代码 ...

  9. node学习笔记2 —— npm包管理

    全局模式安装包 将包安装为全局可用的可执行命令, 并非可以从任意地方require 将 package.json中bin定义的文件软链到统一的目录下, 该目录可以通过如下方式推算出来: path.re ...

随机推荐

  1. GIS基础软件及操作(二)

    原文 GIS基础软件及操作(二) 练习二.管理地理空间数据库 1.利用ArcCatalog 管理地理空间数据库 2.在ArcMap中编辑属性数据 第1步 启动 ArcCatalog 打开一个地理数据库 ...

  2. 零元学Expression Blend 4 - Chapter 7 什麽?影片不再是印象中的方框框!!!看Blend 4如何把影片镶入字里

    原文:零元学Expression Blend 4 - Chapter 7 什麽?影片不再是印象中的方框框!!!看Blend 4如何把影片镶入字里 本章将教大家如何在Blend 4里新增Media El ...

  3. Android零基础入门第47节:自动完成文本框AutoCompleteTextView

    原文:Android零基础入门第47节:自动完成文本框AutoCompleteTextView 上一期学习的Spinner的使用,掌握的怎么样?本期一起来学习AutoCompleteTextView的 ...

  4. 简单图标转xaml代码

    工具 PhotoShopCC(2017) Blend 2017 原图 步骤 1,使用钢笔工具勾勒出大致路径 2,将工作路径转为形状路径 3,图层右键->复制SVG <svg xmlns=& ...

  5. tbox的项目:vm86(汇编语言虚拟机),tbox(类似dlib),gbox(c语言实现的多平台图形库)

    https://github.com/tboox/tbox GBOX是一个用c语言实现的多平台图形库,支持windows.linux.mac.ios.android以及其他嵌入式系统. 现在这个项目, ...

  6. Delphi 的RTTI机制浅探3(超长,很不错)

    转自:http://blog.sina.com.cn/s/blog_53d1e9210100uke4.html 目录========================================== ...

  7. c# 获取cook

    using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServi ...

  8. java设计模式-原型(prototype)

    有时候创建对象是需要耗费很多资源,但是每个对象之间又有大量的重复.我们可以选择在创建好一个对象后,以之作为模板克隆出其他对象,稍作修改,即可用于其他地方. 需要实现Cloneable接口,重写clon ...

  9. windows下nginx的安装和使用

    LNMP的安装与配置 windows下的nginx安装和使用 1.1 去官网下载相应的安装包:http://nginx.org/en/download.html 1.2 解压后进入PowerShell ...

  10. HTML行内元素、块级元素、行内块级元素的特点与区别

    元素 HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码. 元素分类方式 HTML 可以将元素分类方式分为行内元素.块状元素和行内块状元素三种,这三者可以通过设 ...