powercenter學習總結(jié)_第1頁
powercenter學習總結(jié)_第2頁
powercenter學習總結(jié)_第3頁
powercenter學習總結(jié)_第4頁
powercenter學習總結(jié)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、powercenter 學習總結(jié)各 Transformation 的功能說明 I.Source Qualifier (數(shù)據(jù) 源編輯,Relational)1. Source Qualifier 有下列用途 A.連接同源的數(shù)據(jù)集;B.過濾源數(shù)據(jù);C.指定連接條件(等連,非等連,like)和類型(內(nèi)連,外連);D.指定排序欄位(當 Mapping中用到 Aggregator或者Joiner時,排序可以改進性 能); E. Distinct ; F. Override Select; 2. Source Qualifier 執(zhí)行從數(shù)據(jù)庫數(shù)據(jù)類型到Powercenter數(shù)據(jù)類型間的轉(zhuǎn)換;3.當一個 M

2、apping中有多個 Source Qualifier連到多個 Target 時可用 Target Load Order指定裝載順序;4.在 SourceQualifier中的多個地方可以使用參數(shù)或變量,傳入SQL語句用的是字符串格式,所以大部分時候都需要用引號;5.Source Qualifier只為連曲的Port產(chǎn)生SQL語句,需要注意的 是,Override SQL是和連曲線的Port順序相關(guān)的,而且,其 它屬性如 Join, Filter, Sorted Ports, Distinct 會失效;6.這些屬性都可以在 Session屬性中被 Override覆蓋。7. 一切檢索的內(nèi)容都是

3、以SQL Query最高優(yōu)先級,如果沒有 sql query 就找 User Join Define 和 filter,如果有 SQL Query那么SQ拉由的端口必須與 SQL Query的Select個數(shù) 一年多,sql query 多表時,select 至fj的 field 的 table 的 Source 是 一定需帶上的,當需要多個 schema作為源的話,則一定需要 sql querry 8. Pre SQL 和 Post SQL 在 seesion執(zhí)行前或者結(jié)束時會觸發(fā)比如可以把session執(zhí)行的時間寫入到莫些地方,獲取執(zhí) 行電腦的 ip 地址等用處.2.Update Stra

4、tegy 1. Powercenter 的 更新策略包括兩個方面 A.在Mapping中用Update Strategy Transformation 標識行為 Insert, Update, Delete 或者 Reject; B. 在 Session中酉已置 Treat source row as 屬性(Insert, Update, Delete 或者 Data driven),配置 Target 的屬性(Insert, Update as Update只是更新 | as Insert把更新視為新增| elseInsert先更新,更新不到則新增 ,Delete, Truncate tar

5、get table option); 2.在 Update Strategy Expression 中可以輸入常量(DD_INSERT , DD_UPDATE , DD_DELETE , DD_REJECT)或者數(shù)字值 (0, 1, 2, 3),其它數(shù)字值被 解析為0,可以用IIF或者DECODE函數(shù)構(gòu)建邏輯表達式來 區(qū)別每一行的更新策略;3. Forward Rejected Rows勾選時被Rejected的行會存入對應 Target配置的Reject文件中去,不 選時,可能會寫入 Session Log中去,根楣當前 Transformation 的Tracing Level的屬性來決定

6、;如果在會話屬性中配置了由 錯行日志屬性,則不會生成 Reject文件;3.Expression 1.用 來執(zhí)行單行計算,在計算表達式中,可以使用輸入端口,輸 入/輸由端口,可以使用函數(shù)以及非連接的Lookup,也可以使用變量端口;2.數(shù)據(jù)來源只能一個 4.Lookup 1. Lookup根楣輸入值從數(shù)據(jù)庫或者平面文件中查找數(shù)據(jù);2. Lookup分為連接型和非連接型的A.連接型的可以傳送多個返回值給其它的 Transformation ,非連接型的只能有一個返回端 口,在表達式中用 Lookup函數(shù)(LKP)來調(diào)用;B.連接型 的可以利用到默認值,當沒有匹配記錄時,非連接型的總是 返回空;3

7、. Lookup可以配置成使用 CACHE ,對平面文件 這項必選,Informatica Server在條件欄位上建立索 引 CACHE ,在其它欄位上建立數(shù)據(jù)CACHE ,如果分配的CACHE空間不夠就存放在 CACHE文件中; 4. CACHE文 件可以是臨時的,也可以是固定化的;5.當Lookup配置成動態(tài)時,對應的表是Target,如果輸入行連接欄位在 CACHE 中沒有找到匹配記錄,就在 CACHE中插入一行,如果找到 了就更新CACHE或者不更新 CACHE ,取決于比較欄位是 否匹配,給標志欄位 NewLookupRow 賦值0 (Unchange), 1(Insert), 2

8、 (Update); 6. Lookup 的端口除了 I, O 之外, 還有L和R; 7.多匹配行處理策略返回第一行,返回最一 行,報錯;8.在數(shù)據(jù)庫Lookup使用CACHE的前提下可以 使用Override SQL ,下面情形下適于使用 Override SQL A.增 加一個 Where子句;B.指定不同于默認 SQL的Order By 子句,在帶有 Order By子句的Override SQL后加上-,目的是 屏蔽掉系統(tǒng)自動產(chǎn)生的Order By子句; PowerCenter服務器是默認是按lookup的欄位來 Order By的,如果你在 Override 里面想要覆蓋它的 Ord

9、er By方式,一定必須在結(jié)尾輸入-'注釋符來覆蓋,否則lookup會失敗,而且在新的Order by里 面要有LookUp Condition包含的欄位,而且順序需要一致 C. Lookup表名或者欄位中包含保留字或者欄位名中含/時,用引號將保留字引起來;如果look up欄位里面包含了 db的保留字,那么需要在 pm目錄下建立一個含有那些保留字的 reswords.txt的文件,pm會在保留字周圍放置一些引用,來 解決和服務器沖突的問題.D.需要在Lookup查詢中使用參 數(shù)或者變量時;E.其它情況,比如從一個連接中返回結(jié)果或者要對返回作函數(shù)處理后的結(jié)果作為CACHE ; 9.關(guān)于

10、Lookup的條件匹配 A.條件兩邊的端口必須匹配;B.輸入端口允許在條件中由現(xiàn)多次;C.多個條件間的關(guān)系是AND ; D.相等條件可以匹配空值NULLNULL ; E.如果條件中有等于和不等于,將所有等于放在前面;10.如果允許,可以在Lookup表的連接條件欄位上建立索引,以改進 性能;11. LookUp 一定要有輸入 port,SQL Overrid不能覆蓋 condition的作用12. Dynamic LookUp 一般用于查找目標表 是否已經(jīng)有Source傳過來的記錄,然后根據(jù)更新標志日ag做 處理.也就是把目標表的所有數(shù)據(jù)先用文件作為緩存存放起 來,然后Source傳過來的記錄

11、與緩存文件的數(shù)據(jù)比較并且由 屬性insert else update,update else insert決定是否更新緩存文 件.13.理解Associated Port的意義;關(guān)聯(lián)端口,當DynamicLook Up Cache時,PM如何把in port的資料和cache里面的資 料來對比和關(guān)聯(lián),然后產(chǎn)生新的cache和NewLookUpRow 就 是需要用 Associated Port來關(guān)聯(lián)in port端口的資料或者 Sequrence 了。Condition相關(guān)的Fields端口會被自動關(guān)聯(lián).只有有連線由 去的port的比較才有意義.也就是說如果沒有連線由去,兩個值盡管不相等,Ne

12、wLookUpRow還是為0.而且NullNull 14. Ignore in Comparison可以不去比較的欄位但是至少要有一 個,要不Look Up會失敗,如果適當使用可以提高性能。忽略比較,當這個值之外所有比較值都相同則不更新Cache,NewLookUpRow0 當其它比較值還有不相同時則更 新 Cache. NewLookUpRow/ or 2 15. Output Old Value On Update當更新的時候不會更新新值到Cache,全部以Cache里面的值輸由,16.更多 LKP 屬性可見 5.Aggregator 1. Aggregator可用于聚合統(tǒng)計,和 SQL語

13、句不同的是,可以針 對不同的計算指定不同的條件,并可輸由非Group By的欄位;2.用于Group By的端口可以是輸入的,輸入輸生的,輸由的或者變量端口,用到的輸生及變量端口中不能含有統(tǒng) 計函數(shù);3.統(tǒng)計端口可以包含統(tǒng)計函數(shù)(共有 15個),可 以進行兩層嵌套,但要求所有的統(tǒng)計端口都進行嵌套;4.對于那些即非Group By又非統(tǒng)計的端口,返回最后一次收到 的那一行;5. Sorted Input屬性表示輸入的數(shù)據(jù)已經(jīng)按GroupBy端口的要求排好了順,這樣能提高性能,輸入部分數(shù)據(jù)就能有部分結(jié)果,源和目標的組件能同時工作,在沒有選這個 屬性的情況下,需要等到所有數(shù)據(jù)輸入完成才能開始有統(tǒng)計

14、結(jié)果;注意當選擇 Sorted Input屬性,但是輸入數(shù)據(jù)未排序 時。Session 將 failed。當 aggregate expression 包含嵌套 aggregate functions 或者 采用 incremental aggregation 或者 Treat source rows as 是 data driven 時,不能用 Sorted Input 屬性。6 .在上面屬性未選的情況下,需要用到索引CACHE和數(shù)據(jù)CACHE 6. Filter 1. Filter用來過濾數(shù)據(jù),被過濾掉的數(shù) 據(jù)不會寫入 Session Log,也不會寫入 Reject File; 2.將F

15、ilter 盡可能地靠近Source可以提升性能;3. Filter只能接受來自 單個Transformation的數(shù)據(jù)流;4. Filter只有一種輸入/輸由端口,默認值無效;5.只有Filter Condition評估為真(或者非零數(shù)值)的記錄才能通過;6.如果有可能,用 SourceQualfier代替Filter可以取得更好的性能。7 .Joiner 1. Joiner可以用來連接兩個相關(guān)的不同來源的 數(shù)據(jù)集;2.至少需要指定一個匹配端口;3.對兩個來源有如下限制 A.兩個數(shù)據(jù)源要求是來自兩個Pipeline或者一個Pipeline的兩個分支;B.任何一個 Pipeline中都不能含有

16、 Update Stragegy; C. Sequence不能直接連到 Joiner; 4. Joiner的主要屬性如下A.比較時大小寫敏感;B.緩存目錄,數(shù)據(jù)緩存的大小,索引緩存的大??;C.連接類型(Normal, Master Outer, Detail Outer, Full Outer); D.輸入已排序輸入數(shù)據(jù)已按連接端口的順序排好序,這可以減少 磁盤輸入及輸由,提高了Joiner的性能;5.指定非重復值少的表作為Master表可以提升性能,默認情況下,第一個加 入的數(shù)據(jù)源是Detail; 6.只支持相等連接,當使用多個連接 端口時,連接的順序?qū)π阅苡杏绊懀?.連接端口如果含有NUL

17、L值,連接不會成功;8. Joiner 一次只能連接兩個數(shù)據(jù)源,如果有多個數(shù)據(jù)源要進行連接,使用多個Joiner; 9.Joiner可以連接來自同一個Source的數(shù)據(jù)流(自連),有兩個方法如果 Joiner選擇了 Sorted Input屬性,可以用一個 Source Instance來實現(xiàn),否貝就需要 Source的兩個Instance; 10. Joiner 的 Index Cache (連接端口)以及 Data Cache (其它端口)是針對 Master表建立的;11.在不同的配置條件 下,Joiner有不同的阻塞策略,這樣可以用更少的 Cache,對性能有不同的影響;12.在有可能

18、的情況下,盡可能在數(shù)據(jù) 庫完成連接處理;8.Normalizer 1.在關(guān)系型數(shù)據(jù)庫處理中,Normalizer用來從一行變成多行; 如f1 f2 f3 一行三個字段處 理后可變成f1 f2,f1 f3兩行兩字段,如下圖2. Generated Key, 自動產(chǎn)生不能刪除的端口,命名為GK_XXX ,由這個端口產(chǎn)生一個序列號值,在需要時可以作為主鍵,運行成功后會在 知識庫中保存下一個值,可以在 Mapping中看到下一個值,可以修改這個值;3. Generated Column ID ,自動產(chǎn)生不能刪除的端口,命名為 GCID_,這個端口產(chǎn)生一個序號指名當前 輸由來自多個輸入中的哪一個;4.

19、Reset和Restart屬性會話結(jié)束時重置 GK值到上次的值或者到 1; 9.Router 1. Router 和Filter很相似,Router可以用一或多個 Filter來取代,不同 的是用Router來生成多個組時輸入數(shù)據(jù)只需處理一次,所以效率更高;2. Router由一個輸入組,一到多個用戶定義的 輸由組和一個默認組組成,每一個用戶定義的輸由組含一個 測試條件,滿足條件的輸入數(shù)據(jù)會進入相應的用戶定義組, 不滿足所有用戶定義條件的數(shù)據(jù)會進入默認組;3.輸入組和輸由組的端口類型和名稱相同;4. Powercenter根楣連接的用戶定義輸由組的順序來進行評估,如果默認組沒有連 接,則不評估

20、那些沒有連接的用戶定義輸生組; 5.如果莫 一行符合多個輸生組的評估條件,則由現(xiàn)在多個組的輸由數(shù) 據(jù)流中; 6.可以將一個輸由組的端口連到多個 Transformation或者Target上,但不能將多個輸由組的端口 連到I一個 Transformation 或者 Target 上; 10.Sequence 1. Sequence用來產(chǎn)生序列號用以作為主鍵欄位,可以重用;2.只有兩個輸由端口Nextval和Currval ; 3.通過配置 StartValue, End Value, Current Value 和 Cycle 屬性,可以讓產(chǎn) 生的Nextval在一個指定的范圍內(nèi)循環(huán); 4.可

21、以將Nextval端口連到多個Target上,這時是阻塞式的產(chǎn)生序列號的,可以保證多個Target得到不同的序列號,如果想要得到相同的 序列號,可以將 Nextval端口連到Target之前的一個共有的 Transformation上;5.如果只連由 Currval,得到的是一個 常量,并且一次阻塞只能獲得一個值,所以為性能考量,一 般都不連由這個端口,如果Nextval同時有連由,這時Currval Nextval Increment By; 6.在沒有配置 Cycle屬性時,如果 序列號達到了 End Value,會話會失敗;7.不重用的Sequence 有Reset屬性,啟用以后,在每個

22、會話結(jié)束時會將CurrentValue置為會話開始時的值,這個值是它產(chǎn)生的第一個值;8.當Sequence配置成重用時, 應該給Number of Cached Values 一個大于零的緩存值,這個值是主要為保證不由現(xiàn)重復數(shù)據(jù) 而設(shè)置的.比如當設(shè)置為100,那么一個線程在從1開始在跑,則另外一個線程會從 101開始.每次跑完都要補足 100整數(shù). ll.Sorter 1. Sorter用來排序數(shù)據(jù),可以指定多個排序端口, 每個端口可以指定升降序,字符串比較時可以忽略大小寫, 還可以用Distinct選項來消除重復所有端口,包括沒有指定排序的端口;2.排序時會用到輸入數(shù)據(jù)兩倍大小或者更大的空間

23、,默認的排序 Cache是8M ,可選的排序 Cache范圍是 1M到4G,排序Cache不夠時,服務器會將數(shù)據(jù)臨時存儲在 排序目錄,如果指定的排序Cache無法滿足,會話會失敗,可以用文檔中提到公式計算Cache; 3.當配置使用 Distinct屬性時,所有的端口都會用于排序;4.默認情況下,NULL大于任何值,可以配置NULL值小于任何值;12.Union 1.Union可以將多個數(shù)據(jù)流合并成一個數(shù)據(jù)流,功能類似于 SQL中的UNION ALL ; 2. Union可以有多個輸入組,只有 一個輸由組,輸入組和輸由組有對應的端口;3. Ports頁不可編輯,只能編輯 Groups和Grou

24、p Tabs頁;13.Rank 1. Rank可以用來返回根楣莫個端口排序的最大或者最小的N條記錄,并且可以指定分組;可以用于得到去除的重復資 料比如5條相同數(shù)據(jù),只取了一條,那么另外四條可以由這 個加上Sqerence組合得到其它四條.2. Rank中可以使用分 組,但并不能使用分組函數(shù),可以指定多個分組端口,但用 于排序的Rank端口不可用于分組;3. Rank端口有五種屬性I (輸入),O (輸由),V (變量),R (排序),G (分組), 至少需要有一個輸入端口和一個輸由端口,排序端口有且只 有一個,而且必須輸由,排序端口和變量端口不能用于分組;4.輸入端口的數(shù)據(jù)只能來自一個Tran

25、sformation ; 5.有一個默認的Rankindex端口,表示輸由行在排序中的位置;6.如果是字符排序,可以選擇大小敏感或者大小寫不敏感;7.Top X中的X數(shù)量表示前幾條數(shù)據(jù)Rankindex的值就是順序,當Rankindex 一樣時,取其中部分,比如Top1,有兩條記錄 的Rankindex為1,則取其中一條.其受cache限制,可按需 調(diào)整cache. 14.Procedure 1.存取過程一般用于處理較為復雜 的數(shù)據(jù),分為連接型與非連接型,連接型一般用于取得返回值,非連接型一般用于在 session執(zhí)行前后執(zhí)行一些動作,比如檢查數(shù)據(jù)庫空間之類的,但是可以完成所有連接型的功能,可

26、用于Output Port作為expression. 2.如果是只有單個返回 參數(shù) out parameter 則使用方法類似 sp.sp_xxxinID,proc_result,proc_result 為 PM 保留變量.如果有 多個返回參數(shù)則需要定義本地變量來接收,比如 sp.sp_xxxinID,var1,proc_result,參數(shù)位置與類型必須與sp里面定義的一致.3.同個Procedure不得同時作為連接型與非 連接型.4.可以使用多層嵌套存取過程.15. TransactionControl 1.功能用于控制事務的 Commit, Rollback, Continues., 比如

27、一年的銷售情況,可以按照月份分類,每個月作為一個Transaction來控制,這樣就可以對單個月進行排序或者提交 什么的.2.簡介 在Properties Tab頁,主要屬性為 Transacion Control Condition,在里面寫控制事務的表達式,表達式的返 回的值只能是以下值.TC_CONTINUE_TRANSACTION No transaction changes will be performed for this row. This is the default TC expression. TC_COMMIT_BEFORE Commit and Begin a new

28、 transaction before this row written to the target. TC_COMMIT_AFTER Write this row to the target and COMMIT the transaction and begin a new transaction. TC_ROLLBACK_BEFORE Rollback the current transaction.Begin a new transaction and write row to target.TC_ROLLBACK_AFTER write the row to the target a

29、ndrollback the transaction. Begin a new transaction.注意當表達式的返回的值為 TC_ROLLBACK_BEFORE 或 TC_ROLLBACK_AFTER 時需要設(shè)置 session 的 Treat source rows as Data driven,要不 WorkFlow 會為 failed. 16.SQL 1.實現(xiàn) SQL語句功能.例如創(chuàng)建表,新增,修改,刪除等.可以批量執(zhí)行 文件中的SQL以完成較復雜需求.一使用簡介 SQL分為兩 種模式1. Script Mode a 該模式可以根據(jù)輸入端口的內(nèi)容一 般為路徑,找到相應的文件進行執(zhí)行

30、.b輸入端口 Script Name. c輸由端口 Script Result,Script Error.前者為腳本執(zhí)行結(jié)果, 一般為Passed和Failed.后者為Failed時,數(shù)據(jù)庫返回的錯誤 原因.d Run-Time時候沒有接收參數(shù)的功能e當調(diào)用的代碼再Call其它代碼時候不能使用 Nest SQL功能2. Query Mode a SQL代碼可以為傳入端口或者在內(nèi)部寫好.b分靜態(tài)SQL與動態(tài)的SQL c靜態(tài)的綁定參數(shù).方式為var d動態(tài)的可以 有Full Query與部分Query,前者相當于pl/sql中的Executexxx. 后者相當于動態(tài)替換部分內(nèi)容,比如Table之類

31、的.方式為var.e 可以返回 dml 作用的行數(shù).NumRowsAffected output port 系統(tǒng)默認關(guān)閉這個端口,暫時不知如何開啟,當沒有 insert,update,delete 則返回 0. f 當 output 端口多于 Select clause時,多由的端口為 Null或者默認值,少于則由現(xiàn)行錯誤 寫在log中,wf不會由現(xiàn)錯誤.g可以一個返回多行.h Script結(jié)尾不要加;3.相同之處a不能使用 PL/SQL,T-SQL等DBMS專用語言.b無CodePage指定則使用服務器c不支持目標表有Trigger d支持輸入輸由功能,輸由端口一般在輸 入端口自動加后綴_o

32、utput 4.不同之處a SM支持用分號分 割多個語句,可以同行執(zhí)行,QM的傳入端口模式下則不支持. 如果是直接在 TF Query寫語句就可以.b QM支持綁定變 量,SM不支持。c QM支持同行返回結(jié)果集,SM只能返回一行.5.關(guān)于 數(shù)據(jù)庫連接.兩種模式靜態(tài)連接與動態(tài)連接.靜態(tài)連接,在WF里面指定Relational.動態(tài)連接分邏輯連接 Logical與全連 接 Full Connection a 邏輯連接可以由輸入端口 LogicalConnectionObject 調(diào)用 Relational b 全連接所有連接參 數(shù)有輸入端口決定,安全性較差.二Properties Tab屬性1.

33、Runtime Location相對路徑存放 DLL等鏈接庫,空白則抓系統(tǒng) 變量.2. Is Partitionable是否分割.a NoTF不能被分割,一般用 于處理所有輸入端口 ,比如清除.b Locally當TF不同的分區(qū) 需要在內(nèi)存中共享的時候使用,可以使用分區(qū),只能在一個Node中執(zhí)行.c Across Grid可以分區(qū),服務器可以把不同的區(qū) 分給不同的 Node 去執(zhí)行.3. Update Strategy Transformation Query mode下可以使用,用于更新策略 .4. TransformationScope作用范圍如果有用 Transcation Contro

34、l則選擇Transact, 如果使用 Script Mode則選擇Row,如果使用 Query Mode則選擇 All Input. 5. Generate Transaction 當 Query Mode 下做 Commit 時選用,用于產(chǎn)生 Transaction Row. 6. Requires Single Thread Per Partition是否讓一個過程的每個分區(qū)使用一個線 程,選用則過程代碼會使用明確線程操作.7. Output Is DeterministicSession 跑 的 時候產(chǎn) 生兼 容,協(xié)調(diào) 的 數(shù)據(jù).三 SQL Settings 屬性 1. Continue

35、 on SQL error with-in a row 遇至fj 錯誤是否繼續(xù).2. Add Statistic Output Port是否輸由SQL影響 的數(shù)量.3. Max Output Row Count指定輸由端口的數(shù)量限 制,0為無限制.17. XML XML Qualifier使用簡介1.可以由以下檔案類型定義 XML Source or Target l XML files l DTD files l XML schema files l Relational tables l Flat files 2. Target 需要一個 Primary Key, Source 不需要。如

36、不自行建立則系統(tǒng)會有默認值.PK_,FK_. 3.可以為系統(tǒng)產(chǎn)生的key賦值,類似Sequrence有Rest與Restart. 4.原則 與指南 a 一個View只有一個 PK. b 一個View能關(guān)系到多 個View,有多個 FK c 一個列不能是同時是PK又是FK dTarget 需要至少一個 Key. e Root View 需要一個 PK f Leaf View需要一個FK g Enclose不能是一個 Key h FK只能是Ref 到其它Group的PK,不能是自定義 key. i 一個generated FK 只能是涉及到generated PK j元素的重要關(guān)系在 XML層次

37、中影響到 PM 創(chuàng)建在 XML Definition 中的 View. i. Elements that have a one-to-one relationship can be part of the same view.ii. Elements that have a one-to-many relationship can be part ofthe same normalized or denormalized view. iii. Elements thathave a many-to-many relationship cannot be part of the same vie

38、w. 5.產(chǎn)生 XML 的幾種方式 一 Generating Hierarchical Relationships 產(chǎn)生等級關(guān)系 分兩種 View a Normalized views 通過PK與FK的關(guān)聯(lián)來減少冗余的multiple-occurring data如 Employee,Address b Denormalized views 止匕類型相當與把 幾個表的所有Column關(guān)系成一個大表,會有重復數(shù)據(jù),如 果沒有定義類型則系統(tǒng)會默認為String.二Generating EntityRelationships產(chǎn)生實體關(guān)系 比等級關(guān)系多了一個根層Using Substitution G

39、roups in an XML Definition 當你導入使 用了 Substitution Groups的XML,PM 會把每個成員分成一個 組,比如地址分為加拿大,美國,中國。每個組的行都可能不同.三 Working with CircularReferences圓形引用 相當于遞歸自己的元素引用自己 ,可以 由此形成一個表 ./xssequence 可以由上面的定義來讀取下面xml file的內(nèi)容 1 Big Part L1.A Middle Part M1.A.BSmall Part S6.明白 View Rows 的概念在Xml Editor里面你可以設(shè)置哪個element或者g

40、lobal complex為View Rows.當你設(shè)置完 VR后每個View的元素都是一對一的關(guān)系.例如你設(shè)置了地址為 View Rows則email只 能取其中一個才能達到一對一的關(guān)系.EMPLOYEE ADDRESS NAME EMAIL1 Using XPath Query Predicates可以使 source起過濾等功能.比如 EMPLOYEE ./DEPT 100 View Rows 的使用原則 View Row 就是你要 顯示的那個元素,比如一個雇員有許多電話與薪水 ,但是你把 薪水設(shè)置為View Row則你只能選擇一個電話號碼。記錄顯示會顯示每月的薪水。l VR 必須是一個

41、 type or element,不能是一個 attribute. l 所有的 view 必須有個 element或者 complex type 的 view row l 在一個 view 中 view root 是一個 top-level element,是 view中所有其他element的父元素.l Normalized類型的可以 有相同的 view root. l A view cannot contain many-to-many relationships l Two views can have the same view row in an XML source or XML

42、Parser transformation. l The view row element must be the lowest multiple-occurring element in the view. A view cannot contain many-to-many relationships. l If you add a multiple-occurring element to a view with no other multiple-occurring element, you change the view row to the new element by defau

43、lt. If the view already has a multiple-occurring element, you cannot add another multiple-occurring element. l You do not need to specify a view row when you create an empty view. However, as soon as you add a column to the view,the Designer creates the view row. This is true even if you add just th

44、e primary key. l You can change a view row at a later time, but you cannot change a view root unless there are no schema components in the view. l You can specify a view row that consists of a pivoted element, such as Product/Order2/Customer 7. Pivoting Columns 列旋轉(zhuǎn)可以 實現(xiàn)多行轉(zhuǎn)成一列,比如7.1 Using Multiple-Le

45、vel Pivots 多層旋轉(zhuǎn) STORE PRODUCTPNAMEORDERORDERNAMECUSTOMERCUSTNAME The XPathSTORE/PRODUCT2/ORDER1/ORDERNAME refers to the ordername for the first order for the second product in the store. TheXPathSTORE/PRODUCT2/ORDER/CUSTOMER1refers to the first customer for all orders of the second product. 8. XML S

46、Q 的一些注意事項 8.1同個SQ的兩個組不能直接link進入同 個Target,需中間做些改變,比如Join后8.2同個SQ的兩個組 不能直接link進入同個除開Join與CT外的TF 8.3可以使用 URL創(chuàng)建Source 8.4可以手動修改 PK的值.8.5兩個Group 進入 Joiner 之前必須把 Joiner 的 inputsort checked.通過 XPK_ 與 XFK_ 關(guān)聯(lián) 8.6 Synchronizing XML Definitions 可以刷新 XML Source的定義 XML MidStream 作用用于抽取和產(chǎn)生XML 使用簡介I.MidStream 包括以

47、下兩個TF 9, XMLParser transformation. The XML Parser transformation reads XML from one input port and outputs data to one or more groups. 10. XML Generator transformation. The XML Generator transformation reads data from one or more sources and generates XML. The XML Generator transformation has a sing

48、le output port. 2. XML transformations 支持 以下功 能, Pass-through ports,通過次端口可以把從非XML來的數(shù)據(jù)轉(zhuǎn)成 Top-Level group的元素或者 PK 或者產(chǎn)生 denormalized XML groups. Real-time processing. 可以傳遞 BLOBs Data from messaging systems. , Support for multiple partitions. You can generate different XML documents for each partition.可

49、以產(chǎn)生為多個分區(qū)產(chǎn)生不同的XML文檔3. XMLParser transformation TypeActive,Connected 有一個 input 端口 BinarySQ 中 datatype 為 text or string data BLOB 和多個輸生 端口 , 4. XML Generator transformation TypeActive,Connected 可以由多個 Source組成后輸由一個 XML Doc 5.Editing Mid Xml Properties如果 設(shè)置了為 Reusable則 不 能加入 Pass-through ports 和 metadata extensions. 6產(chǎn)生 Pass-Through Ports 1,在 output 新增 port 2.Add-XML Edit-Top 右擊-Add a Ref port. 8.XML TF in Session 可以設(shè)置是否輸由Nullcontent的tag,是否格式化輸由的格式等18.Java 1 . Javatransformation 有兩中 Active 和 Passive; 2. Active 可以標 記輸由行的update flag , 參考 Update Strategy Transformat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論