3

私はInformaticaを初めて使用し、infaポートについて質問したいと思います。データを更新するための式変換で更新フラグを作成する方法を示す例を見つけました。ポートのコードはv_UPDATE_FLAG次のようになります。

IIF(NOT ISNULL(PREV_ITEM_KEY)
AND
(
DECODE(BONUS_FLAG,PREV_BONUS_FLAG,1,0) = 0 
OR
DECODE(DISCOUNT,PREV_DISCOUNT,1,0) = 0 
OR
DECODE(PRICE,PREV_PRICE,1,0) = 0 
),'TRUE','FALSE')

これが何をするのか説明できますか?DECODEはここで何をしますか?

DECODE(BONUS_FLAG,PREV_BONUS_FLAG,1,0) = 0 
4

1 に答える 1

2

DECODE構文:

DECODE (
  value
, first_search  , first_result 
, second_search , second_result
, ...           , ...
                , default
)

パラメータはvalueパラメータと比較されsearch、最初の一致が見つかると、それぞれのresultパラメータが返されます。一致するものがない場合は、defaultパラメーターが返されます。

DECODE(BONUS_FLAG,PREV_BONUS_FLAG,1,0) = 0BONUS_FLAGPREV_BONUS_FLAGが等しくないことを意味します。

PREV_ITEM_KEYがNULLでなく、いずれかの属性BONUS_FLAGDISCOUNT変更PRICEされた場合(前の値と現在の値)、式全体がUPDATEの行にフラグを立てます。

于 2013-03-26T08:20:21.723 に答える