0

以下のように表Aにデータがあります

Assetid attribute value
1546    Ins_date   05062011
1546    status     active
1546    X          10.4567
1546    Y          27.56
1546    size       17
675     X          4.778
675     Y          53.676
675     depth      5
675     st_date    06092010

上記のようなデータが表Aにあります。この表には多くのAssetid1546,675などがあります。属性はアセットによって異なる場合があります。

以下のように出力したい:

assetid  ins_date  status  X        Y       Size  depth  st_date
1546     05062011  active  10.4567  27.56   17    null   null
675      null      null    4.778    53.676  null  5      06092010

ストアドプロシージャを作成し、Informaticaで呼び出してこの出力を実現しました。ただし、大量のデータがあるため、読み込みに時間がかかります。

それをロードする他の簡単で最良の方法を私に提案してください。

4

3 に答える 3

1

ルーターを使用して行を個別のグループに分割しattribute、一連のジョイナーassetidを使用して同じ値の行をマージします。

于 2012-05-03T11:44:38.363 に答える
0

アグリゲータートランスフォーメーションを使用して、レコードをアセットIDごとに1つのレコードに凝縮します。次に、属性ごとに、属性が一致するMAX(value)を返すポートを作成します。この方法は、考えられるすべての属性を事前に知っていることを前提としていることに注意してください。

于 2012-05-05T23:04:13.830 に答える
0

前の回答で示唆されているように、アグリゲーターを使用できます。データ セットが大きいため、データが式に到達する前に並べ替えられている場合、式で変数ポートを使用する手法を使用できます。

「PowerCenter Mapping: Convert Rows Into Columns」というタイトルの Informatica Marketplace アプリから、両方の手法を示すサンプル マッピングをダウンロードできます。

于 2012-09-21T13:42:22.283 に答える