2

Informatica で Lead 関数と Lag 関数を使用するにはどうすればよいですか?

Name  |   No.
------------
X     |  100
Y     |  200
Z     |  300

私はそれを次のように変換する必要があります:

Name  |    No. |    Lead(No.) 
-----------------------------
X     |   100  |    200
Y     |   200  |    300
Z     |   300  |    100


Name  |    No.  |   Lag(No.)    
----------------------------
X     |   100   |   0
Y     |   200   |   100
Z     |   300   |   200

私が使用したロジックは次のとおりです。

経験値変換

Name (input & Output Port)
No. (input)
O_No.(VAR)=IIF(Prv_no IS NULL,0,No.)
Prv_no.(VAR)=No.

これはラグ関数用でした。

4

3 に答える 3

1

それをしたことはありませんが、評価の順序を使用します。EXP 変換では、入力ポートは変数ポートの前に評価され、出力ポートの前に評価されます。また、行は一度に 1 つずつ読み取られます。

EXP TRAN にソートされたデータを送信すると、lag() 関数をシミュレートできます。Lead() の場合、並べ替えを逆にする必要があります。

于 2013-06-13T10:46:35.223 に答える
0

Informatica Expressions を使用してリードとラグを実現できます。入力行ごとに、2 つの出力ポートをリード用に 1 つ、ラグ計算用に 1 つ作成します。実行のリード変数とラグ変数を構成するには、マッピング パラメーターを使用します。式の後、ポートを 2 つの異なるターゲットに接続します。

于 2014-08-13T08:33:56.857 に答える