Informatica-Powercenter基础开发实例

合集下载

Informatica PowerCenter

Informatica PowerCenter

Informatica PowerCenter 高可扩展性与高性能的企业数据集成标准确立企业数据集成标准Informatica® PowerCenter® 为具备高可扩展性与高性能的企业数据集成软件确立了标准。

PowerCenter 可使您的 IT 组织能够通过单一方式访问、转换和传输数据,无需任何手动编码。

该软件的高可扩展性能可以支持海量数据并满足企业对安全和性能的需求。

PowerCenter 可作为所有企业集成方案的数据集成基础,包括数据仓库、数据治理、数据迁移、面向服务的体系架构 (SOA)、B2B 数据交换以及主数据管理 (MDM)。

•在正确的时间提供正确信息,让业务部门拥有其所需的及时、相关和可信的数据与报告,以便制定更准确、更及时的业务决策 •经济高效地进行扩展,以满足增长的数据需求,节约硬件成本,并降低与数据停机相关的成本和风险 •让开发人员、分析师和管理员团队能够更快更好地协作,共享和重复利用工作成果,以加快项目的交付速度“在我们这一行,至关重要的是能够抢先取得竞争优势和研究项目的投资回报。

不断增长的竞争只会进一步强调这一点,让你更容易理解‘时间就是金钱’这句话的含义。

在此艰难的环境下,Informatica [PowerCenter ] 为进行日常报告助了一臂之力,从而保证我们的团队具备最优的响应度和效率。

”– Alain Afios ,数据处理主管 研发部门,AventisBBVA Compass 是一家金融机构,在世界各地拥有 748 间分行。

该银行必须有效地检测、调查和报告可疑的洗钱活动,以符合国家和国际法规、指令及最佳实践的要求。

同时,该银行也需要降低合规成本。

BBVA Compass 依赖于 PowerCenter 来集成 17 个跨企业的数据源,其中包括拥有不同格式、结构和延迟性的贷款、信用卡、账户及在线银行交易数据。

PowerCenter 提供了金融活动与客户风险的全面视图。

Informatica PowerCenter常用转换组件使用说明

Informatica PowerCenter常用转换组件使用说明
43;A,Ctrl+C,然后粘贴到word即可。 未能直接提供word版,抱歉。
Informatica PowerCenter常用转换组件使用说明
1 Expression 作用:实现基于单行记录的表达式计算,执行任意非聚合计算。 用法:创建Expression 组件后,将需要用的字段从上一端口拖曳到Expression 组件,双击组 件,打开编辑,新增创建所需的输出端口,只勾选“O”为只输出端口,在“Expression”中 编辑表达式,确保分配与表达式返回值相匹配的端口数据类型。输出端口的命名惯例为 OUT_PORTNAME。 可以利用一个Expression 组件实现多个表达式转换工作,只要为多个输出端口输入一个 表达式,就可以在转换中创建任意多个输出端口。 2 Aggregator 作用:对多组记录执行聚合计算。 用法:将需要聚合运行的字段拖曳到Aggregator 组件,双击组件,在Port 选项卡中,勾选 要分组的列,新增输出端口,编辑聚合运算表达式。 与sort 组件联合使用可提高性能。 常用属性: Cache Directory 属性:创建索引和数据高速缓存文件的本地目录。 Sorted Input 属性:指示已按组预排序输入数据。用于改善会话性能。只有当映射将已 排序数据传递至聚合转换时,才选择此选项。 Aggregator Data Cache Size 属性:转换的数据高速缓存大小。 Aggregator Index Cache Size 属性:转换的索引高速缓存大小。 Transformation Scope 属性:指定PowerCenter Server 如何将转换逻辑应用于接收数据: -Transaction。将转换逻辑应用于事务中的所有行。如果数据行取决于同事务中的 所有行,但与其它事务中的行无关,则选择“Transaction”。 -All Input。将事务逻辑应用于所有传入数据。选择“All Input”时,PowerCenter 将放弃接收事务边界。如果数据行取决于源中的所有行,请选择“All Input”。 4 聚合函数: AVG COUNT FIRST LAST MAX MEDIAN MIN PERCENTILE STDDEV SUM VARIANCE 只允许聚合表达式出现在Aggregator Transformation 组件中。聚合表达式可以包括条件 子句和非聚合函数。还可以包括一个嵌入另一聚合函数的聚合函数,例如: MAX(COUNT(ITEM)) 可以在任意输出端口创建聚合表达式并使用转换中的多个聚合端口。

Informatica PowerCenter平台ETL开发规范

Informatica PowerCenter平台ETL开发规范

Informatica PowerCenter平台ETL开发规范January 12, 2010广州安正软件科技有限公司BusinessMatrix Information System Corporation.文档历史记录变更历史审阅分发文档目录1.文档介绍 (5)1.1文档目的 (5)1.2适用范围 (5)1.3文档读者 (5)1.4参考文献 (5)1.5术语与缩写解释 (5)2.POWERCENTER平台介绍 (6)3.环境介绍 (7)3.1概述 (7)3.2开发环境 (7)3.3测试环境 (7)3.4生产环境 (7)3.5数据库账号 (7)3.6数据连接 (8)3.7参数文件 (8)4.通用规范 (14)4.1I NFORMATICA文件夹配置 (14)4.2操作系统文件夹配置 (14)4.3S ESSION配置项 (15)4.4I NFORMATICA用户配置 (15)4.5ETL转换规则说明 (15)4.6从平面文件导入数据 (15)4.7从数据库导入数据 (16)4.8从数据库导入数据结构 (16)4.9注释 (16)4.10日志文件 (16)4.11出错处理与通知 (17)5.命名规范 (18)5.1概述 (18)5.2F OLDER (18)5.3M APPING (18)5.4S ESSION (19)5.5W ORKFLOW (19)5.6S OURCE D EFINITION (19)5.7T ARGET D EFINITION (20)5.8A GGREGATOR (20)5.9E XPRESSION (21)5.10F ILTER (21)5.11J OINER (21)5.12L OOKUP (21)5.13N ORMALIZER (22)5.14R ANK (22)5.15R OUTER (22)5.16S EQUENCE G ENERATOR (22)5.17S ORTER (23)5.18S OURCE Q UALIFIER (23)5.19S TORED P ROCEDURE (23)5.20U PDATE S TRATEGY (23)5.21M APPLET (24)5.22I NPUT T RANFORMATION (M APPLET O NLY) (24)5.23O UTPUT T RANFORMATION (M APPLET O NLY) (25)5.24D ATABASE C ONNECTIONS (25)5.25FTP C ONNECTIONS (25)6.常用SQL知识介绍 (25)6.1NOT IN与MINUS (25)6.2多表连接中的条件限制(WHERE AND ON) (25)6.3游标尽量少使用 (27)6.4异常捕捉 (27)7.SQL编写规范 (27)7.1原则定义 (27)7.2大小写规则 (28)7.3缩进与换行 (28)7.4别名 (29)7.5运算符前后间隔要求 (29)7.6变量引用 (30)7.7注释 (30)7.8其它 (31)8.脚本编写规范 (31)8.1U LTRA E DIT (31)8.2SHELL (32)9.ETL开发流程 (32)9.1ETL开发流程 (32)9.2文档编写要求 (32)10.版本控制 (33)11.ETL程序迁移 (34)12.环境准备过程 (34)12.1创建用户 (34)12.2开发环境准备 (34)12.3测试环境准备 (35)12.4生产环境资准备 (35)13.性能调优 (35)13.1I NFORMATICA性能调优步骤 (35)13.2聚合 (35)13.3其他 (36)1. 文档介绍1.1 文档目的本文档主要描述了ETL开发人员在Informatica PowerCenter平台开发Mapping、Session和Workflow需要遵循的统一标准,使得不同项目不同开发人员在Informatica PowerCenter平台交付的ETL程序符合同一标准。

Informatica_PowerCenter安装指南 (2)

Informatica_PowerCenter安装指南 (2)

Informatica PowerCenter安装指南(2)目录简介: (2)目标程序: (2)安装环境: (3)假设: (3)前置任务: (3)数据库需求: (3)PowerCenter域配置存储库 (3)PowerCenter 存储库 (4)安装JRE: (4)环境变量设置: (4)安装服务器端: (5)配置服务器端: (6)创建PowerCenter存储库服务: (7)创建PowerCenter集成服务: (9)简介:PowerCenter是Informatica出品的数据中心管理工具集中的一个产品,主要用于设计和完成ETL过程,其中又包含多个子产品,如Data Profiling和Data Analyzer,其服务器端的架构如下:如上图所示,PowerCenter服务器端由被配置在同一域(PowerCenter domain)中的一组计算机组成。

此组计算机可以master-slaves的方式协作,也可以网格方式进行分布式运算?(待求证)。

一个PowerCenter domain中可以配有多个gateway nodes,但只有一个能被设为master,所有对该域的访问均由该结点路由;其余gateway可作为备份。

该服务器段采用面向服务架构,除Service Manager和PowerCenter Administrator这两个服务必须运行在master gateway机器上以外,其他服务均可部署在同一域中的其他结点上,由master gateway提供统一的访问。

对于ETL流程而言,PowerCenter Repository Service和PowerCenter Integration Service为核心服务。

只要安装和部署成功这两个服务,即可执行ETL流程,其他服务为可选服务,当购买了其他产品后才(如Analyst Service为PowerCenter Analyzer的依赖服务)需要。

InformaticaPowerCenter861_64bit安装

InformaticaPowerCenter861_64bit安装

安装Informatica PowerCenter 8.6.1 先解压Informatica PowerCenter 8.6.1 的压缩包打开Informatica PowerCenter_1 of 2.zip包点击" install.bat"选择"语言"点"OK"点"下一步"选择"Install PowerCenter 8.6.1",点击"下一步".此处点击"浏览",选择Informatica PowerCenter_2 of 2.zip 包中的Oracle_All_OS_Prod.key,点击"打开",点"下一步".点击"下一步"选择安装目录,点击"下一步"点击"下一步",点击"安装"此处要等待几分钟时间此处必须设置系统变量环境,变量名:path,变量值:C:\Informatica\PowerCenter8.6.1\server\bin;(不设置安装进行不下去)设置如图,设置好以后点击"下一步"填写相应的数据值,数据值如下图:点击"测试连接",可以查看是否连接成功点击"确定",点击"下一步"点击"下一步",需要等待几分钟去除"在不同的用户账户下运行Informatica Services"选项,点击"下一步"点击"完成",Informatica PowerCenter 安装完成.配置Informatica PowerCenter 8.6.1 首先,检查一下PowerCenter服务是否已启动如果没有启动,请启动服务,然后打开服务控制台以系统默认的用户名/密码(Administrator/Administrator)登录选择Administration Console选项创建Repository Service,点击"Create"下面"Repository Service"填好数据信息后,点击下面的"create"表示Repository Service 创建成功!下面来创建Integration Service,点击"Create"下面的"Integration Service"填好信息后,点击"Create"点击"OK"表示Integration Service 服务创建成功!下面来创建用户的登录权限:点击右上角图标:点击左上角"Create Group"给登录用户分配一个组:点击"OK"点击左上角"Create User"来创建用户点击"OK"选择左边Groups下刚创建的组,再选择"Privileges",点击"Edit"选中,点"OK"点击左边Users下边刚创建的用户名,选择Overview,点击"Edit"把用户添加到Groups,点击"OK".下面来安装客户端,登录,并开发一个简单的实例:"下一步"--->"下一步"......."完成" 客户端安装完成,找开客户工具:点击左边刚才创建的"rep"服务点'Configure Domains....',配置Domain点‘ok’右击‘rep’----〉'connect'输入用户名和密码(user_zhu/user_zhu),点击'Connect'表示连接成功!创建PowerCenter的应用空间点击上面的'tools'-----> Repository Manager'进入Repository Manager界面,点击'Folder'---->'Create...',输入空间名'F_user',点击'OK'表示创建成功!返回到Informatica PowerCenter Designer,重新连接'rep'连接成功!下面添加源数据库和目标数据据点击"tools"------>"Source Analyzer"进入界面点击"Sources"----> "Import from Database..."进入界面添加ODBC数据源管理选择源数据库,并填写数据库中的用户名和密码,点击"CONNECT",选择数据库,点击"OK".点击"tools"--->"Targt Designer",同上面一样的方式创建目标数库源创建两个库之间的映射关系.点击"Tools"---->"Mapping Designer" 把两个数据库源拖到工作空间双击"SQ_SOURCE_ZHU",去除没有用的字段我们在两个表之间做一个小的功能,就是把源表中的NAME字段的值,后面追加"_AA",然后写入以目标数据库表中,需要建立一个Expression.点击菜单上的"Transformation"----->"Create...."点击"Create"把"SQ_SOURCE_ZHU"中的SOURCE_NAME 拖入到"e_zhu Expression"中双击"e_zhu Expression",添加一个输出字段点击5后面的"OUT_NAME"为该字段添加条件点击"OK"!然后把其他字段的关系添加到目标库表中.到目前映射关系建立完成下面创建运行环境点击"Tools"--->"Workflow Manager" 进入界面点击"Tools"---->"Workflow Designer"点击"Create...."----->"Wizard"给运行添加个名称:Run_zhu点击"下一步",把刚创建的"Mapping"添加到"session"中.然后"下一步"下一步,下一步,完成点击左上角的建立数据库连接建立两个,Oracle是源数据库,Oracle1是目标数据库双击上面的s_M_zhu,进入界面,点击"Mapping",设置数据源再设置目标库创建好后,"Ctrl+S"保存右击空间区域,点击"start Workflow"来启动工程成功完成!。

informatica+powercenter8.6简易使用手册

informatica+powercenter8.6简易使用手册

informatica+powercenter8.6简易使⽤⼿册informatica powercenter8.6 简易使⽤⼿册(Windows)2009年9⽉27⽇⽬录第1章简介 (3)1.1概念 (3)1.2作⽤ (3)第2章安装配置 (5)2.1下载 (5)2.2服务器安装 (6)2.3客户端安装 (17)2.4服务器配置 (22)2.5客户端介绍 (27)第1章简介1.1 概念Informatica PowerCenter 是Informatica公司开发的世界级的企业数据集成平台,也是业界领先的ETL⼯具。

Informatica PowerCenter使⽤户能够⽅便地从异构的已有系统和数据源中抽取数据,⽤来建⽴、部署、管理企业的数据仓库,从⽽帮助企业做出快速、正确的决策。

此产品为满⾜企业级要求⽽设计,可以提供企业部门的数据和电⼦商务数据源之间的集成,如XML,⽹站⽇志,关系型数据,主机和遗留系统等数据源。

此平台性能可以满⾜企业分析最严格的要求。

Informatica PowerCenter 是建⽴可伸缩和可扩展的Informatica数据集成平台的核⼼和基础。

与Informatica PowerConnect产品⼀起使⽤,Informatica PowerCenter 可以提供对⼴泛的应⽤和数据源的⽀持,包括对ERP系统的⽀持(Oracle, PeopleSoft, SAP),对CRM系统的⽀持(Siebel),对电⼦商务数据的⽀持(XML, MQ Series),遗留系统,及主机数据。

Informatica PowerCenter 是最突出的分析性数据集成平台。

Informatica PowerCenter 是⼀个可以使⼤的企业或组织能够按其复杂的业务信息需求,读取、转换、集成遗留系统、关系型ERP,CRM,消息信息和电⼦商务数据的数据集成平台。

1.2 作⽤数据整合引擎Informatica PowerCenter拥有⼀个功能强⼤的数据整合引擎,所有的数据抽取转换、整合、装载的功能都是在内存中执⾏的,不需要开发者⼿⼯编写这些过程的代码。

Informatica Powercenter基础知识

Informatica Powercenter基础知识

11、Monitor
进行workfow 的监控。
PowerCenter 图形化界面 图形化界面-1
PowerCenter 图形化界面 图形化界面-2
完全图形化操作、易使用、易开发、易维护
PowerCenter 图形化界面 图形化界面-2
完全图形化操作、易使用、易开发、易维护
PowerCenter 图形化界面 图形化界面-3
4、Repository Service
管理Repository的服务,进行元数据的增删查改,提供与Intergration Service 交互。
5、 Intergration Service
响应Repository Service的ETL作业请求,运行ETL作业

PowerCenter 的体系架构-3
丰富的ETL功能——Mapping功能
条件汇总 异构数据源关联 行/列转换 静态、动态Lookup支持 自定义SQL 复用组件 复用Mapping 调用存储过程 调用外部用户自定义过程 可视化Debug 强大的函数支持、功能丰富的转换语言 ……
丰富的ETL功能——Session功能
ETL事务处理 Pre SQL和Post SQL 数据源为文件列表 Session Recovery 基于多目标表约束装载 错误数量控制 FTP 源和FTP目标 ETL任务分区 Bulk Loading External Loader (Oracle、DB2、SYBASE…) ……
主题
Informatica 在企业中的应用 PowerCenter 的体系架构 PowerCenter实例
PowerCenter实例
D区
无效数据写入目标表UNT_ATMTXN 此表结构与源的唯一差别: 最后多了一个字段error_desc. 并将B区中生成的error_desc字段,写入此表最后字段。

InformaticaPowerCenter调用存储过程

InformaticaPowerCenter调用存储过程

InformaticaPowerCenter调用存储过程1平台说明1.1InformaticaETL(10.240.3.35)1.1.1软硬件配置2实现过程本次示例使用组织部门层级无级树展开为横向层级关系,使用非连结存储过程调用。

步骤:1)存储过程由组织部门层级无级树DW_DIM_DEPARTMENT表读出,调用定义递归函数GET_LONGDEPT、GET_LONGDEPT_CODE写入到横向展开临时表DW_DIM_DEPARTMENT_TEMP;2)再将展开临时表DW_DIM_DEPARTMENT_TEMP的层级更新到DW_DIM_DEPARTMENT表;3)于PowerCenter中当DW_DIM_DEPARTMENT由源表BD_DEPTDOC全表更新后,再调用SP_DW_DIM_DEPT_LONGDEPT实现;2.1BI数据库创建存储过程在目标数据库中创建并调试完成所需使用的存储过程,。

存储过程:SP_DW_DIM_DEPT_LONGDEPT为例,结果如下:2.1.1SP_DW_DIM_DEPT_LONGDEPT:CREATEORREPLACEPROCEDURESP_DW_DIM_DEPT_LONGDEPTISBEGIN--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某--名称:SP_DW_DIM_DEPT_LONGDEPT--创建日期:2022-12-31--调度描述:暂无调度,提供给INFOMATICA的mapping:m_DW_DIM_DEPARTMENT2/14调用--最后修改人:outton--最后修改日期:2022-04-19--修改内容:增加取展开的部门编码--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某DELETEDW_DIM_DEPARTMENT_TEMP;INSERTINTODW_DIM_DEPARTMENT_TEMP(PK_DEPTDOC,LONGDEPT,LONGDEPTCODE)SELECTT.PK_DEPTDOC,GET_LON GDEPT(PK_DEPTDOC),GET_LONGDEPT_CODE(PK_DEPTDOC)FROMDW_DIM_DEPARTMENTT;UPDATEDW_DIM_DEPARTMENTTSETLONGDEPT=(SELECTL.LONGDEPTFROMDW_DIM_DEPARTMENT_TEMPLWHEREL.PK_DEPTDO C=T.PK_DEPTDOC)||'>',LONGDEPTCODE=(SELECTL.LONGDEPTCODEFROMDW_DIM_DEPARTMENT_TEMPLWHEREL.PK_DE PTDOC=T.PK_DEPTDOC)||'>';COMMIT;ENDSP_DW_DIM_DEPT_LONGDEPT;2.1.2表结构2.1.2.1DW_DIM_DEPARTMENT_TEMPDW_DIM_DEPARTMENT_TEMPcreatetableDW_DIM_DEPARTMENT_TEMP(PK_DEPTDOCCHAR(20)notnull,LONGDEPTVARCHAR2(500),LONGDEPTCODE VARCHAR2(500));i'部门信息';3/14i'部门档案主键';2.1.2.2DW_DIM_DEPARTMENTcreatetableDW_DIM_DEPARTMENT(PK_DEPTDOCCHAR(20)notnull,DEPTCODEVARCHAR2(40),DEPTLEVELCHAR (20),DEPTNAMEVARCHAR2(200),DEPTSHORTNAMEVARCHAR2(200),DEPTTYPENUM BER,PK_FATHEDEPTCHAR(20),PK_PSNDOCCHAR(20),LONGDEPTVARCHAR2(500),LONGDEPTCODEVARCHAR2(500));4/14--Create/Recreateprimary,uniqueandforeignkeycontraintaltertableDW_ DIM_DEPARTMENTaddcontraintPK_DW_DIM_DEPARTMENTprimarykey(PK_DEPTDOC);2.1.2.3BD_DEPTDOCCREATETABLEBD_DEPTDOC(PK_DEPTDOCCHAR(20)NOTNULL,DEPTCODEVARCHAR(40),DEPTLEVELCHAR( 20),DEPTNAMEVARCHAR(200),DEPTSHORTNAMEVARCHAR(200),DEPTTYPEINTEGER,PK_FATHEDEPTCHAR(20),PK_PSNDOCCHAR(20));COMMENTONTABLEBD_DEPTDOCIS'部门档案';COMMENTONCOLUMNBD_DEPTDOC.PK_DEPTDOCIS'部门档案主键';COMMENTONCOLUMNBD_DEPTDOC.DEPTCODEIS'部门编码';COMMENTONCOLUMNBD_DEPTDOC.DEPTLEVELIS'部门级别';COMMENTONCOLUMNBD_DEPTDOC.DEPTNAMEIS'部门名称';COMMENTONCOLUMNBD_DEPTDOC.DEPTSHORTNAMEIS'部门简称';COMMENTONCOLUMNBD_DEPTDOC.DEPTTYPEIS'部门类型';COMMENTONCOLUMNBD_DEPTDOC.PK_FATHEDEPTIS'上级部门';COMMENTONCOLUMNBD_DEPTDOC.PK_PSNDOCIS'负责人';2.1.3表数据2.1.3.1BD_DEPTDOCINSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002A','0101','0001M01000000 00000某4','总经办','');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002B','010101','0001M010000 0000000某4','维修工程部','1001M01000000000002A');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002C','01010101','0001M0100000000000某5','5/14生产部','1001M01000000000002B');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002D','010*******','0001M01 00000000000某6','生产部一车间','1001M01000000000002C');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002E','010*********','0001M 0100000000000某7','生产部一车间机电组','1001M01000000000002D');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002F','010*********','0001M 0100000000000某7','生产部一车间电子组','1001M01000000000002D');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002G','010*******','0001M01 00000000000某6','生产部二车间','1001M01000000000002C');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002H','010*********','0001M 0100000000000某7','生产部二车间机电组','1001M01000000000002G');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002I','010*********','0001M 0100000000000某7','生产部二车间电子组','1001M01000000000002G');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002J','010*******','0001M01 00000000000某6','生产部三车间','1001M01000000000002C');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002K','010*********','0001M0100000000000某7','生产部三车间EMB机队维护','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002L','010*********','0001M 0100000000000某7','生产部三车间外航维护','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002M','010*********','0001M 0100000000000某7','生产部三车间客舱维护组','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001101000000005BN某Q','010*********','0001M0100000000000某7','生产部三车间机电(外航维护)组','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001101000000005BNY3','010*********','0001M 0100000000000某7','生产部三车间机电(EMB机队维护)组','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001101000000005BNYL','010*********','0001M 0100000000000某7','生产部三车间电子(EMB机队维护)组','1001M01000000000002J');PK_FATHEDEPT)VALUES('1001101000000005BNYP','010*********','0001M 0100000000000某7','生产部三车间电子(客舱维护)组','1001M01000000000002J');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)6/14VALUES('1001M01000000000002N','010*******','0001M010******** 00某6','生产部四车间','1001M01000000000002C');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002O','010*********','0001M 0100000000000某7','生产部四车间FedE某生产组','1001M01000000000002N');INSERTINTOBD_DEPTDOC(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DEPTNAME, PK_FATHEDEPT)VALUES('1001M01000000000002P','010*********','0001M 0100000000000某7','生产部四车间生产控制','1001M01000000000002N');2.1.3.2DW_DIM_DEPARTMENTINSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002A','0101','0001M0100000000000某4','总经办','');PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002B','010101','0001M0100000000000某4','维修工程部','1001M01000000000002A');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002C','01010101','00 01M0100000000000某5','生产部','1001M01000000000002B');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002D','010*******','0001M010******** 00某6','生产部一车间','1001M01000000000002C');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002E','010*********','0001M010000000 0000某7','生产部一车间机电组','1001M01000000000002D');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002F','010*********','0001M010000000 0000某7','生产部一车间电子组','1001M01000000000002D');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002G','010*******','0001M010******** 00某6','生产部二车间','1001M01000000000002C');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002H','010*********','0001M010000000 0000某7','生产部二车间机电组','1001M01000000000002G');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,7/14PK_FATHEDEPT)VALUES('1001M01000000000002I','010*********','0001M010000000 0000某7','生产部二车间电子组','1001M01000000000002G');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002J','010*******','0001M010******** 00某6','生产部三车间','1001M01000000000002C');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002K','010*********','0001M010000000 0000某7','生产部三车间EMB机队维护','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002L','010*********','0001M010000000 0000某7','生产部三车间外航维护','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002M','010*********','0001M010000000 0000某7','生产部三车间客舱维护组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001101000000005BN某Q','010*********','0001M0100000000000某7','生产部三车间机电(外航维护)组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001101000000005BNY3','010*********','0001M010000000 0000某7','生产部三车间机电(EMB机队维护)组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001101000000005BNYL','010*********','0001M010000000 0000某7','生产部三车间电子(EMB机队维护)组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001101000000005BNYP','010*********','0001M010000000 0000某7','生产部三车间电子(客舱维护)组','1001M01000000000002J');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002N','010*******','0001M010******** 00某6','生产部四车间','1001M01000000000002C');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,PK_FATHEDEPT)VALUES('1001M01000000000002O','010*********','0001M010000000 0000某7','生产部四车间FedE某生产组','1001M01000000000002N');INSERTINTODW_DIM_DEPARTMENT(PK_DEPTDOC,DEPTCODE,DEPTLEVEL,DE PTNAME,8/14PK_FATHEDEPT)VALUES('1001M01000000000002P','010*********','0001M010000000 0000某7','生产部四车间生产控制','1001M01000000000002N');2.1.4自定义函数2.1.4.1GET_LONGDEPTCREATEORREPLACEFUNCTIONGET_LONGDEPT(DEPT_IDINVARCHAR2)RETURN VARCHAR2ISV_LONGDEPTVARCHAR2(500);V_DEPT_IDVARCHAR2(30);BEGIN--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某--名称:GET_LONGDEPT--创建日期:2022-12-31--调度描述:暂无调度,提供给SP_DW_DIM_DEPT_LONGDEPT调用--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某SELECTDEPTNAME,PK_FATHEDEPTINTOV_LONGDEPT,V_DEPT_IDFROMDW_DI M_DEPARTMENTWHEREPK_DEPTDOC=DEPT_ID;IFV_DEPT_IDISNULLTHENRETURN( V_LONGDEPT);ELSEV_LONGDEPT:=GET_LONGDEPT(V_DEPT_ID)||'>'||V_LONGDEPT;RETURN( V_LONGDEPT);ENDIF;ENDGET_LONGDEPT;2.1.4.2GET_LONGDEPT_CODECREATEORREPLACEFUNCTIONGET_LONGDEPT_CODE(DEPT_IDINVARCHAR2)R ETURN9/14VARCHAR2ISV_LONGDEPT_CODEVARCHAR2(500);V_DEPT_IDVARCHAR2(30);BEGIN--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某--名称:GET_LONGDEPT_CODE--创建日期:2022-04-19--调度描述:暂无调度,提供给SP_DW_DIM_DEPT_LONGDEPT调用--某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某SELECTDEPTCODE,PK_FATHEDEPTINTOV_LONGDEPT_CODE,V_DEPT_IDFROMDW_DIM_DEPARTMENTWHEREPK_DE PTDOC=DEPT_ID;IFV_DEPT_IDISNULLTHENRETURN(V_LONGDEPT_CODE);ELSE V_LONGDEPT_CODE:=GET_LONGDEPT_CODE(V_DEPT_ID)||'>'||V_LONGDE PT_CODE;RETURN(V_LONGDEPT_CODE);ENDIF;ENDGET_LONGDEPT_CODE;10/142.2使用PowerCenter中StoredProcedureTranformation2.2.1调用StoredProcedureTranformation2.2.1.1创建存储过程2.2.1.2导入存储过程选择相应的数据源,输入对应用户名、密码,即可查找到对应的存储过程SP_DW_DIM_DEPT_LONGDEPT,点击[确定]即可加入。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Informatica-Powercenter基础开发实例Infa开发实例1实例:客户维表抽取(dim_customer)1.1数据库配置信息1.1.1数据源数据库类型oracle 服务器IP10.1.0.112访问IP访问用户系统性质xxx系统数据库数据库名称(SID)用户名密码Oracle dev Abc Abc1.1.2目标库数据库类型oracle 服务器IP10.1.0.113访问IP访问用户系统性数据仓库质数据库数据库名称(SID)用户名密码Oracle dev DW DW1.2详细设计1.2.1基础信息目标位置:数据仓库实现目标:抽取客户维表数据进入数据仓库供BIEE平台展现功能要求:目标表名:dim_customer来源表:Hz_Parties、hz_cust_accounts数据筛选条件:数据更新频率:每月1.2.2口径说明字段名字段类型字段描述数据源字段转换规则备注row_id number 序号market_cod e varchar2(50)市场编码market_nam e varchar2(100)市场名称customer_c ode varchar2(50)客户编码hz_cust_accountsaccount_numbercustomer_n ame varchar2(200)客户名称Hz_Partiesparty_name取数规则:select rownum,'','',hca.account_number,ap.party_name from Hz_Parties ap, hz_cust_accounts hcawhere ap.party_id = hca.party_idETL说明:Mapping:M_DIM_CUSTOMER_IncWorkflow:WF_DIM_CUSTOMER_Inc更新方式:全量抽取1.3抽取步骤1.3.1定义源1.打开Designer,选择“源->从数据库导入”,导入源表结构2.选择“源->从数据库导入”后出现如下提示框,若未配置源数据库的odbc,则需要先配置,可点击如下图的“…”进行配置3.在弹出的ODBC中,选择系统DSN,添加按钮,选择想为其安装数据源的驱动程序4.这里我们选择oracle in oraclient10g_home1,弹出如下框,进行配置,tns service name为本机配置的tns连接,这里不再详述5.配置完我们可以点击测试,看是否能连通数据库6.配置完odbc,我们选择相应的odbc连接,输入用户名密码连接erp 数据库,也可以在搜索栏填入指定的表,然后选择导入7.用同样的方式,我们将Hz_Parties表导入designer1.3.2定义目标1.导入目标表的方式与导入源的方式基本一致,首先选择“目标->从数据库导入”2.选择我们配置好的odbc,输入目标库的用户名,密码1.3.3创建映射1.选择“映射->创建”,输入映射的名称,映射命名建议以“M_目标表名_Inc”方式来创建2.创建完映射,将刚才导入的两张源表拖入映射工作区中3.将我们需要的字段拖入join组件中,并join组件设置两张表的关联条件4.双击source qualifier组件,在“属性”的sql query中点击“生成sql”,这样在任务抽取的时候,直接根据sql获取源表相应字段的数据,而不是将整张表的所有字段全部加载的informatica中4.生成的sql或者开发人员修改了sql后,可以点击“验证”,看sql 的语法是否正确5.将序列号组件和目标表拖入到工作区中,并将我们通过join组件关联后需要的字段与目标表关联,序列号组件中的序列也与目标表中的rowid字段关联,与目标表关联后,整个映射工作也就完成了1.3.4定义任务1.打开workflow工具,选择“工作流->创建”,输入工作流名称,工作流命名建议以“WF_目标表名_Inc”的方式2.点击确定后,工作流创建成功,如下图所示1.3.5创建会话任务1.点击工具栏上的“session”组件按钮进行创建会话任务2.弹出如下选框,选择我们刚刚做好的映射,点击确定3.点击工具栏的“链接”组件,将“启动”与会话任务进行连接4.点击“连接->关系”进行数据库连接的配置5.点击“新建”,选择oracle然后选择确定6.在弹出的如下框中进行配置,连接字符串中的oracle_crp为服务器上对应的tns连接串7.双击会话任务,在映射选项中进行数据源和目标的配置8.在连接类型中选择我们配置好的数据源,源和目标的数据源都要一一配置,如下图9.目标表配置中,target load type属性中我们一般选择normal选项,bulk有时候会报错,对于维表的抽取,我们一般采用全量的方式抽取,所以勾选truncate target table属性1.3.6监控工作流1.工作流及会话任务创建完成后,在工作流空白工作区右键->启动工作流2.启动workflow monitor,可以监控工作流的执行情况2实例:收入分析事实表抽取(ft_income_structure)2.1数据库配置信息2.1.1数据源数据库类型oracle 服务器IP10.0.0.206访问IP访问用户系统性质ERP系统数据库数据库名称(SID)用户名密码Oracle dev apps apps2.1.2目标库数据库类型oracle 服务器IP10.0.0.207访问IP访问用户系统性质ODS中间库数据库数据库名称(SID)用户名密码Oracle hyperion INFO_ODS INFO_ ODS 2.2详细设计2.2.1基础信息目标位置:ODS中间库实现目标:抽取收入分析数据进入ODS中间库功能要求:目标表名:MT_INCOME_STRUCTURE来源表:Ra_Customer_Trx_AllRa_Customer_Trx_Lines_All RA_CUST_TRX_LINE_GL_DIST_ALL Hz_PartiesHZ_CUST_ACCOUNTSgl_code_combinationsFND_FLEX_VALUE_SETSFND_FLEX_VALUES_VLmtl_system_items_b数据筛选条件:数据更新频率:每月2.2.2口径说明字段名字段类型字段描述数据源字段转换规则备注MONTH _ID NUMBER月份RA_CUST_TRX_LINE_Ggl_dateto_char(gl_date,L_DIST _ALL 'YYY YMM' )ORG_I D NUMBER组织gl_code_combinationssegment1PRODU CT_ID NUMBER产品mtl_system_items_bsegment1ACCOU NT_ID NUMBER科目gl_code_combinationssegment3CUSTO MER_I D NUMBER客户HZ_CUST_ACCOUNTSaccount_numberINDEX _VALU NUMBER指标值RA_CUST_TRX_amountE LINE_GL_DIST_ALL取数规则:select rac.account_number customer_id,to_char(gd.gl_date, 'YYYYMM') month_id,gcc.segment1 org_id,gcc.segment3 account_id,msi.segment1 product,sum(gd.amount) data_valuefrom Ra_Customer_Trx_All ct,Ra_Customer_Trx_Lines_All ctl,RA_CUST_TRX_LINE_GL_DIST_ALL gd,Hz_Parties hp,HZ_CUST_ACCOUNTS RAC,gl_code_combinations gcc,FND_FLEX_VALUE_SETS FFS,FND_FLEX_VALUES_VL FFV,mtl_system_items_b msiwhere ct.customer_trx_id = ctl.customer_trx_idand gd.customer_trx_id = ct.customer_trx_idand gd.customer_trx_line_id = ctl.customer_trx_line_id and hp.party_id = rac.party_idand ct.bill_to_customer_id = rac.cust_account_idand gd.account_class = 'REV'and gd.amount is not nulland gd.amount <> 0and gcc.code_combination_id = gd.code_combination_id AND gcc.chart_of_accounts_id = 50368and FFS.FLEX_VALUE_SET_ID = 1014869and FFV.FLEX_VALUE_SET_ID = FFS.FLEX_VALUE_SET_IDand FFV.Flex_Value = gcc.segment3and substr(ffv.FLEX_VALUE, 1, 1) = '6'and anization_id = 81and msi.inventory_item_id = ctl.inventory_item_id group by rac.account_number,to_char(gd.gl_date, 'YYYYMM'),gcc.segment1,gcc.segment3,msi.segment1;ETL说明:Mapping:M_MT_INCOME_STRUCTURE_IncWorkflow:WF_MT_INCOME_STRUCTURE_Inc更新方式:第一次全量抽取,之后每月增量抽取2.3抽取步骤2.3.1定义源1.由于抽取任务涉及源表过多,关联关系复杂,并且已经写出数据的sql口径,我们直接获取sql语句生成的数据即可,点击“源->创建”,输入创建表的名称2.双击我们创建出来的表,添加表字段2.3.2定义目标参照1.3.2,导入后如图所示2.3.3创建映射1.参照1.3.3的方式创建映射2.在source qualifier中的写入我们写好的sql口径2.3.4定义任务参照1.3.42.3.5创建会话任务参照1.3.52.3.6监控工作流参照1.3.6。

相关文档
最新文档