用戶有一個(gè)需要用txt更新表數(shù)據(jù)的功能,用lookup實(shí)現(xiàn),步驟: 1. 循環(huán)文件夾的txt文件 2. 用Lookup 全部cache目標(biāo)表數(shù)據(jù),比對(duì)txt數(shù)據(jù)和目標(biāo)表數(shù)據(jù) 3. 如果有match的數(shù)據(jù)用txt更新目標(biāo)表 但是執(zhí)行每次Match的數(shù)據(jù)都是0,而txt中確實(shí)存在匹配的數(shù)據(jù)。翻了一下
用戶有一個(gè)需要用txt更新表數(shù)據(jù)的功能,用lookup實(shí)現(xiàn),步驟:
1. 循環(huán)文件夾的txt文件
2. 用Lookup 全部cache目標(biāo)表數(shù)據(jù),比對(duì)txt數(shù)據(jù)和目標(biāo)表數(shù)據(jù)
3. 如果有match的數(shù)據(jù)用txt更新目標(biāo)表
但是執(zhí)行每次Match的數(shù)據(jù)都是0,而txt中確實(shí)存在匹配的數(shù)據(jù)。翻了一下微軟的BOL,有一句話很重要:
If there are multiple matches in the reference table, the Lookup transformation returns only the first match returned by the lookup query.If multiple matches are found, the Lookup transformation generates an error or warning only when the transformation has been configured to load all the reference dataset into the cache. In this case, the Lookup transformation generates a warning when the transformation detects multiple matches as the transformation fills the cache.
后來(lái)查了一下我的記錄中確實(shí)記錄都是重復(fù),由于我選擇了處理錯(cuò)誤的方式“Redirect rows to no match output”,所以數(shù)據(jù)都到了Not match.
之后嘗試將重復(fù)數(shù)據(jù)刪除就正常了。因?yàn)榭紤]到大部分應(yīng)用是數(shù)據(jù)倉(cāng)庫(kù)方面的,維度都是為一的,所以很少碰到這個(gè)問(wèn)題。
還有一點(diǎn)要注意的是Lookup是大小寫敏感的,在處理帶有字符數(shù)據(jù)的時(shí)候要注意。
另外這個(gè)功能用上次提到的處理緩慢變化維的組件也可以實(shí)現(xiàn)。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com