簡體   English   中英

在Informatica PowerCenter中將變量用作表達式(條件)

[英]use variable as expression (condition) in informatica powercenter

IC=IC
ACC=ACC
v_statement='ACC = '1052502',0.035,IC = 'IC130',0.0675'
v_decode_out=DECODE(TRUE,v_statement,0)

我得到錯誤是上述表達正確。無論如何我們都可以實現這一目標

您的查詢中有兩個問題

首先,您編寫的v_statement變量不會被驗證。 如果您確實想以這種格式編寫字符串,請使用管道附加為

'ACC =' || || 1052502”, '|| 0.035 ||' IC = '||' IC130 '||', '||' 0.0675'

請注意,您不能循環引用。

其次,您的解碼語句不起作用的原因是由於數據類型不匹配。 True是布爾值,v_statement是字符串。 任何變量擴展都將在運行時發生,但不會在此之前發生。 因此,informatica不允許您使用這種解碼語句,除非為此您將某種類型的字符串輸入/變量與另一個字符串或任何其他數據類型進行比較

另外,請根據您的情況決定是否評估ACC否則為IC(這似乎是您的情況)

v_decode_out = DECODE(ACC, '1052502',0.035,DECODE(IC, 'IC130',0.0675))

當同時是ACC和IC時v_decode_out = DECODE(TRUE,ACC ='1052502'和/或IC ='IC130',0.035,0.0675)

這些是基本概念。 建議您在此處發布問題之前,先嘗試一下Internet上可用的所有內容,因為如果有人覺得您根本沒有為自己找到答案而付出任何努力,那么他們可能會輕易降低您的評分。

干杯!

您編寫的v_statement變量將不會被驗證。 如果您確實想以這種格式編寫字符串,請使用管道進行追加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM