我有一個複雜的轉換,查找階段指定了必須在一行上執行的大約30個不同/特定字符串操作之一。我想知道如何在DataStage中有效地做到這一點?IBM DataStage:將字符串作爲代碼/表達式進行評估
的要求是這樣的:
If
col_a = 1
Then
col_b := some_string_function(col_c)
Else If
col_a = 2
Then
col_b := some_other_string_function(col_d)
Else If
col_a = 3
Then
col_b := yet_another_string_function(col_c & col_d)
Else If ...
...等等。
我迄今探索:
我的第一個念頭是包括代碼(字段名(S)和字符串函數)作爲查找表串/場,並使用該代碼在查找後變壓器階段表達。但是,似乎沒有辦法在變換表達式中將字符串評估爲代碼?
我想到的另一個解決方案是將代碼放入變換器階段內的大量嵌套控制語句中,這看起來非常低效,特別是因爲DataStage似乎沒有提供類似於「CASE 「/「開關」。還是呢?
代(部分)與一個開關階段進料到不同的查找/變差動階段似乎更有效,因爲它們可以並行地完成,但將是設計一種疼痛控制語句。
我還沒有涉足服務器例程。