您好,欢迎来到品趣旅游知识分享网。
搜索
您的当前位置:首页dts使用开发培训1

dts使用开发培训1

来源:品趣旅游知识分享网
DTS

开发使用培训

《ETL设计报告》

编号:XAB-QJ-???-R-TES-??? 文件状态: 当前版本: 1.0 [ ] 草稿 完成日期: [√] 正式发布 编 制: [ ] 正在修改 审 核: 批 准:

北京鑫奥博科技发展有限公司软件开发部

北京鑫奥博科技发展有限公司

Page 2 of 13

《ETL设计报告》

版 本 历 史

版本/状态 作者 参与者 起止日期 1.0 孙旭东

北京鑫奥博科技发展有限公司

备注 Page 3 of 13

《ETL设计报告》

目 录

1 1.1 1.2 1.3 1.4 1.5 2 3 3.1

文档介绍 ...................................................................................................................... 5 文档目的 ................................................................................................................... 5 文档范围 ................................................................................................................... 5 读者对象 ................................................................................................................... 5 参考文献 ................................................................................................................... 5 术语与缩写解释 ....................................................................................................... 5 开发环境 ...................................................................................................................... 6 开发 .............................................................................................................................. 7 数据连接 ................................................................................................................... 7

3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3 3.4 3.5 3.6 4 4.1 4.2 4.3 4.4 4.5

文件源 ............................................................................................................... 7 文件目的 ............................................................................................................ 7

Microsoft ODBC Driver for Oracle .................................................................... 7 Microsoft OLE DB Provider for Oracle ............................................................. 7 Microsoft OLE DB Provider for SQL Server ...................................................... 7 ActiveX 脚本任务 ............................................................................................. 7

数据处理任务 ........................................................................................................... 7

数据转换任务 .................................................................................................... 7 执行进程任务 .................................................................................................... 7 执行 SQL 任务 ................................................................................................. 7

Dynamic Properties Task(动态属性任务)..................................................... 7

执行包任务 ........................................................................................................ 7

工作流 ....................................................................................................................... 7 包属性 ....................................................................................................................... 7 参数使用 ................................................................................................................... 7 脱接编辑 ................................................................................................................... 7 规范 .............................................................................................................................. 8 程序存放位置 ........................................................................................................... 8 不同项目之间的程序交互处理规范 ........................................................................ 8 数据源处理 ............................................................................................................... 8 SQL语句编写模式 .................................................................................................... 8 SQL语句的调优 ...................................................................................................... 10

北京鑫奥博科技发展有限公司

Page 4 of 13

《ETL设计报告》

1 文档介绍

1.1 文档目的

为dts开发提供使用技术参考 为dts开发定义规范。

1.2 文档范围

1.3 读者对象

Etl处理开发人员

1.4 参考文献

VBSTOC.HTM、sql server帮助系统

1.5 术语与缩写解释

缩写、术语

解 释 北京鑫奥博科技发展有限公司

Page 5 of 13

《ETL设计报告》

2 开发环境

源数据:oracle 9i,txt,csv(excel文件保存为csv文件)等 目标数据库:oracle9i

程序编写和执行环境:sql server数据库(可以不安装服务,而使用其他机器的sql server服务)

北京鑫奥博科技发展有限公司

Page 6 of 13

《ETL设计报告》

3 开发

3.1 数据连接

3.1.1 文本文件源 3.1.2 文本文件目的

3.1.3 Microsoft ODBC Driver for Oracle 3.1.4 Microsoft OLE DB Provider for Oracle 3.1.5 Microsoft OLE DB Provider for SQL Server

3.2 数据处理任务

3.2.1 ActiveX 脚本任务 3.2.2 数据转换任务 3.2.3 执行进程任务 3.2.4 执行 SQL 任务

3.2.5 Dynamic Properties Task(动态属性任务) 3.2.6 执行包任务

3.3 工作流 3.4 包属性 3.5 参数使用

3.5.1 Vbscript传参 3.5.2 Sql查询传参

3.6 脱接编辑

北京鑫奥博科技发展有限公司

Page 7 of 13

《ETL设计报告》

4 规范

4.1 程序存放位置

4.2 不同项目之间的程序交互处理规范 4.3 数据源处理

Excel文件必须存为csv文件,去除“?”(乱码)、空格

4.4 Sql语句编写模式

/*初步汇总层*/ /*问题:*/

/* 1、全局应税总额统计的是税收还是全部?如果只是税收,而要和重点功能区作比较,重点功能区统计的是全部,没有意义*/ /* 2、数据中有局代码为空的纪录,如何解释*/ /**/ /**/ /**/

/*注意:1、一个隐含条件是纳税人状态为10的正常户*/ /**/ /**/ /**/ /*insert

into

F_ZDGNQSYJK

(D_NY,D_ZDGNQDM,D_ZDGNQMC,F_XQZHS,F_XQZDHS,F_XQYSZE,F_XQZDHYSZE,F_XQYNSZE,F_XQZDHYNSZE,F_QJZHS,F_QJZDHS,F_QJYSZE,F_QJZDHYSZE,F_QJYNSZE,F_QJZDHYNSZE,F_QJYZ,F_QJRK)*/ select

t1.D_NY,t1.D_ZDGNQDM,t1.D_ZDGNQMC,t1.F_XQYSZE,t1.F_XQYNSZE,t1.F_QJYZ,t1.F_QJRK,t2.F_XQZHS,t3.F_XQZDHS,t4.F_XQZDHYSZE,t4.F_XQZDHYNSZE,t5.F_QJZHS,t6.F_QJZDHS,t7.F_QJYSZE,t7.F_QJYNSZE,t8.F_QJZDHYSZE,t8.F_QJZDHYNSZE from

(

select

Page 8 of 13

/**辖区应税总额、辖区已(纳)税总额/区级应征、区级应征**/

北京鑫奥博科技发展有限公司

《ETL设计报告》

F_SYHSYJKSZ.D_NY,D_ZDGNQ.D_ZDGNQDM,D_ZDGNQ.D_ZDGNQMC,sum(F_SYHSYJKSZ.F_YSJE_QB)

as

F_XQYSZE,sum(F_SYHSYJKSZ.F_YNSJE_QB)

as as

F_XQYNSZE,sum(F_SYHSYJKSZ.F_YSJE_SR) F_QJYZ,sum(F_SYHSYJKSZ.F_YNSJE_SR) as F_QJRK

from D_ZDGNQ,F_SYHSYJKSZ,T_SYHJBXX where

T_SYHJBXX.D_JSJDM=F_SYHSYJKSZ.D_JSJDM

and and by

D_ZDGNQ.D_ZDGNQDM=T_SYHJBXX.D_ZDGNQDM T_SYHJBXX.D_NSRZTDM='10'

group

F_SYHSYJKSZ.D_NY,D_ZDGNQ.D_ZDGNQDM,D_ZDGNQ.D_ZDGNQMC

) t1,

/**辖区总户数**/ (

select D_ZDGNQDM,count(T_SYHJBXX.D_JSJDM) as F_XQZHS from T_SYHJBXX where D_NSRZTDM='10' group by D_ZDGNQDM

) t2,

/**辖区重点户数**/ (

select D_ZDGNQDM,count(D_JSJDM) as F_XQZDHS from T_SYHJBXX

where D_ZDHLXDM!='-1' and D_NSRZTDM='10' group by D_ZDGNQDM

) t3,

/**辖区重点户应税总额、辖区重点户已(纳)税总额**/ (

select

F_SYHSYJKSZ.D_NY,T_SYHJBXX.D_ZDGNQDM,sum(F_SYHSYJKSZ.F_YSJE_QB) as F_XQZDHYSZE,sum(F_SYHSYJKSZ.F_YNSJE_QB) as F_XQZDHYNSZE

from F_SYHSYJKSZ,T_SYHJBXX where

T_SYHJBXX.D_JSJDM=F_SYHSYJKSZ.D_JSJDM

and

T_SYHJBXX.D_ZDHLXDM!='-1' and T_SYHJBXX.D_NSRZTDM='10'

group by F_SYHSYJKSZ.D_NY,T_SYHJBXX.D_ZDGNQDM

) t4,

/**全局总户数**/ (

select count(D_JSJDM) as F_QJZHS from T_SYHJBXX where D_NSRZTDM='10'

Page 9 of 13

北京鑫奥博科技发展有限公司

《ETL设计报告》

) t5,

/*全局重点户数*/ (

select count(D_JSJDM) as F_QJZDHS from T_SYHJBXX

where D_NSRZTDM='10' and D_ZDHLXDM!='-1'

) t6,

/**全局应税总额、全局已(纳)税总额**/ (

select

F_SYHSYJKSZ.D_NY,sum(F_SYHSYJKSZ.F_YSJE_QB)

as

F_QJYSZE,sum(F_SYHSYJKSZ.F_YNSJE_QB) as F_QJYNSZE

from F_SYHSYJKSZ,T_SYHJBXX where

T_SYHJBXX.D_JSJDM=F_SYHSYJKSZ.D_JSJDM

and

T_SYHJBXX.D_NSRZTDM='10'

group by F_SYHSYJKSZ.D_NY

) t7,

/**全局重点户应税总额、全局重点户已(纳)税总额**/ ( ) t8

/*先连接重点功能区代码*/

t1.D_ZDGNQDM=t2.D_ZDGNQDM and t2.D_ZDGNQDM=t3.D_ZDGNQDM and /*再连接年月*/

t1.D_NY=t4.D_NY and t4.D_NY=t7.D_NY and t7.D_NY=t8.D_NY

select

F_SYHSYJKSZ.D_NY,sum(F_SYHSYJKSZ.F_YSJE_QB)

as

F_QJZDHYSZE,sum(F_SYHSYJKSZ.F_YNSJE_QB) as F_QJZDHYNSZE

from F_SYHSYJKSZ,T_SYHJBXX where

T_SYHJBXX.D_JSJDM=F_SYHSYJKSZ.D_JSJDM

and

T_SYHJBXX.D_NSRZTDM='10' and T_SYHJBXX.D_ZDHLXDM!='-1'

group by F_SYHSYJKSZ.D_NY

where

t3.D_ZDGNQDM=t4.D_ZDGNQDM and

4.5 Sql语句的调优

Not in

临时表(将查询过程拆分)

北京鑫奥博科技发展有限公司

Page 10 of 13

《ETL设计报告》

5 实际应用

5.1 Case 行转列 5.2 两部分数据比较不同

5.3 Dba_tab_columns、Dba_tables

select b.table_name,b.column_name from dba_tab_columns a,dba_tab_columns b where a.owner='a' and b.owner='b'

and a.table_name(+)=b.table_name and a.column_name(+)=b.column_name and a.column_name is null

5.4 Tab 5.5 工作流控制

'********************************************************************** ' Visual Basic ActiveX Script

'************************************************************************

Function Main()

if isFirst=0 then

Main = DTSStepScriptResult_ExecuteTask else

Main =DTSStepScriptResult_DontExecuteTask end if

dim isFirst

isFirst=cint(DTSGlobalVariables(\"isfirst\").Value)

End Function

北京鑫奥博科技发展有限公司

Page 11 of 13

《ETL设计报告》

5.6 截取

该税种的营业税金额75931.05,计算7%的金额是5315.1735 该税种的营业税金额312.5,计算7%的金额是21.875 该税种的营业税金额1050,计算7%的金额是73.5 该税种的营业税金额10000,计算7%的金额是700 --钩稽关系预警历史数据修改

alter table F_GJGXYJ add tmp1 VARCHAR2(255); update f_gjgxyj set tmp1=d_glxx

where length(d_glxx)-instr(d_glxx,'.',1,2)>2 and instr(d_glxx,'.',1,2)>0; commit;

update f_gjgxyj set d_glxx=substr(d_glxx,1,instr(d_glxx,'.',1,2)+2) where tmp1 is not null

and to_number(substr(tmp1,instr(tmp1,'.',1,2)+3,1))<5; commit; update ,1))+1)

where tmp1 is not null

and to_number(substr(tmp1,instr(tmp1,'.',1,2)+3,1))>=5; commit;

select count(*) from f_gjgxyj update

f_gjgxyj

set

tmp1=substr(d_glxx,instr(d_glxx,'

',1,1)+1,length(d_glxx)-instr(d_glxx,'是',1,1)) where instr(d_glxx,'是',1,1)>0; commit; update

f_gjgxyj

set

tmp1=substr(d_glxx,instr(d_glxx,'

',1,2)+1,length(d_glxx)-instr(d_glxx,'为',1,2)) where instr(d_glxx,'为',1,2)>0; commit;

delete from f_gjgxyj where to_number(tmp1)=f_jsje; commit;

alter table F_GJGXYJ drop column tmp1;

f_gjgxyj

set

d_glxx=substr(d_glxx,1,instr(d_glxx,'.',1,2)+1)||(to_number(substr(tmp1,instr(tmp1,'.',1,2)+2

5.7 Sqlloader

作业:

体育馆、永外分户数据导入219的zsthcwds, 坐标数据导入

北京鑫奥博科技发展有限公司

Page 12 of 13

《ETL设计报告》

原文件: 目的表

2、文本文件取两列,合并放到一个表的一个字段中 表自己创建

3、创建表包含列:jsjdm,szdm,1月金额,2月。。。12月, 数据来源f_aszysjlb的2006年的数据,2006通过配置文件指定。 全局变量传参数。

北京鑫奥博科技发展有限公司

Page 13 of 13

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- pqdy.cn 版权所有 赣ICP备2024042791号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务