BI之路学习笔记1--SSIS包的认识和设计
进入了新的公司,开始接触新的方向,内心激动而又兴奋,对于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包的认识和设计的更多相关文章
- BI之路学习笔记2--SSIS/ETL设计练习三:《DB->定期生成excel表》
上次笔记记到,用sql任务给参数赋值,映射到变量,然后把数据流任务放到序列容器中进行执行,可以定期生成excel, 现在的问题是: 在EXCEL目标编辑过程中,必须选定某一个特定的excel目标,这样 ...
- BI之路学习笔记3--olap cube理解实例
为什么会产生OLAP? 随着数据库技术的发展应用,数据库存储的数据量从M字节以及G(千兆)字节过渡到T字节和P字节,同时,用户的查询需求也越来越复杂,设计的已不仅是查询或者操纵一张关系表中的一条或几条 ...
- [转帖]Linux学习笔记之rpm包管理功能全解
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...
- Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色
上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...
- Dynamic CRM 2013学习笔记(二十九)报表设计:reporting service 报表开发常见问题
在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有:再就是分页问题,经常 ...
- Netty4 学习笔记之三:粘包和拆包
前言 在上一篇Netty 心跳 demo 中,了解了Netty中的客户端和服务端之间的心跳.这篇就来讲讲Netty中的粘包和拆包以及相应的处理. 名词解释 粘包: 会将消息粘粘起来发送.类似吃米饭,一 ...
- 2017/1/7 学习笔记 jar包,maven
① 关于tar,jar,war文件 tar是通用的另一种打包格式,为了部署到服务器时方便. jar是java app server识别的java部署格式,其实是Zip文件,只是内部的文件有规范. wa ...
- Python 2.7 学习笔记 模块和包
我们来考虑下如下几种场景: 1.编写一个python程序,如果程序比较简单,则可以把代码放到一个python文件中.但如果程序功能比较多,可能需要多个python文件来组织源代码.而这些文件之间的代码 ...
- node学习笔记2 —— npm包管理
全局模式安装包 将包安装为全局可用的可执行命令, 并非可以从任意地方require 将 package.json中bin定义的文件软链到统一的目录下, 该目录可以通过如下方式推算出来: path.re ...
随机推荐
- 零元学Expression Blend 4 - Chapter 34 啊~!!我不要毛毛的感觉!-使用布局修整「UseLayoutRounding」
原文:零元学Expression Blend 4 - Chapter 34 啊~!!我不要毛毛的感觉!-使用布局修整「UseLayoutRounding」 本章将介绍UseLayoutRounding ...
- ManualResetEvent 让你的代码等你几分钟
using System;using System.Collections.Generic;using System.Linq;using System.Threading; namespace Co ...
- myCloudData SDK
http://www.tmssoftware.com/site/myclouddata.asp http://www.tmssoftware.com/site/myclouddatasdk.asp
- QML学习【一】Basic Types
QML入门教程(1) QML是什么? QML是一种描述性的脚本语言,文件格式以.qml结尾.语法格式非常像CSS(参考后文具体例子),但又支持javacript形式的编程控制.它结合了QtDesi ...
- CMD 从文件中截取匹配规则字符串并输出到文件
*******************command**********************git diff 8d71d92b2d957fd1b697b4cf785fb984f190e5d2 or ...
- 基于 Kong 和 Kubernetes 的 WebApi 多版本解决方案
前言 大家好,很久没有写博客了,最近半年也是比较的忙,所以给关注我的粉丝们道个歉.去年和朱永光大哥聊的时候提了一下我们的这个方案,他说让我有空写篇博客讲一下,之前是非常的忙,所以这次趁着有些时间就写一 ...
- 【转载】Spring Boot引起的“堆外内存泄漏”排查及经验总结
背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常.笔者被叫去帮忙查看原因,发现配置了4G堆内 ...
- Unity Shader常用函数,标签,指令,宏总结(持续更新)
极端常用: UnityObjectToClipPos(v.vertex); 最基本的顶点变换,模型空间 ==>裁剪空间 mul(unity_ObjectToWorld, v.vertex); 顶 ...
- 浅谈ASP.NET Core中IOC与DI的理解和使用
说起IOC和DI,使用过ASP.NET Core的人对这两个概念一定不陌生,早前,自己也有尝试过去了解这两个东西,但是一直觉得有点很难去理解,总觉得对其还是模糊不清,所以,趁着今天有空,就去把两个概念 ...
- angular安装
安装时间:20190703安装环境:win10 1 安装Nodejs 1.1 下载地址:https://nodejs.org/en/ 1.2 下载完成之后双击安装,安装完成之后无需配置环境变量(安装的 ...