8

Informatica PowerCenter Designerでケースステートメントを書くのを手伝ってもらえますか?私はInformaticaを新しく導入しており、限られた経験に基づいて、ケースステートメントはサポートされていないと感じています。同様の機能を持つデコード機能がありますが、構文上の良い例は見つかりません。Informaticaのケースステートメント/デコード機能

Informaticaでケースステートメント/デコード機能を使用する方法の具体例を教えていただければ幸いです。

ありがとうございました!

答えて

15

そうだね - そこにはCASE文はありませんが、あなたがそれをシミュレートするDECODEを使用することができます。

DECODE(TRUE 
     , DECIMAL_PORT > 0, 'positive value' 
     , DECIMAL_PORT < 0, 'negative value' 
         , 'zero') 

それは、次のTransact-SQL CASE文の等価です。

CASE 
    WHEN DECIMAL_PORT > 0 THEN 'positive value' 
    WHEN DECIMAL_PORT < 0 THEN 'negative value' 
    ELSE 'zero' 
END 

これはどのように動作するのですか:

  • 第1パラメータはハードコードですD TRUE値、(ように、第2及び第4)
  • もパラメータ条件あり、(ように第3、第5及び)
  • 奇数パラメータ戻り値であり、
  • 最後のパラメータでありますデフォルトの戻り値,
  • 第1パラメータの値に評価される最初の条件(つまり、最初の条件がtrueの場合)は返される値を決定します。条件のいずれも満たさない場合は、最後のパラメータが返されます。
  • また、多くの場合、条件ロジックを実装するために使用されるIIF()関数で
3

ルック:

IIF(DECIMAL_PORT > 0, 'positive value', IIF(DECIMAL_PORT < 0 ,'negative value', 'zero')) 
+2

これは動作しますが、条件の数が増えると、それはまたすぐに厄介になります。 'DECODE'はより読みやすい表現を書くことを可能にします。 –