目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

Group Byポート

Group Byポート

アグリゲータトランスフォーメーションを使用すると、すべての入力データで集計を実行する代わりに、集計対象となるグループを定義できます。たとえば、会社の総売上高を求めるのでなく、地域ごとにグループ分けした総売上高の確認ができます。
集計式に対してグループを定義するには、アグリゲータトランスフォーメーションで該当する入力、入出力、出力、および変数ポートを選択します。複数のGroup Byポートを選択して、一意なグループの組み合わせそれぞれについて新しいグループを作成することができます。その後、Integration Serviceではグループごとに定義済みの集計が実行されます。
値のグループ分けを行う場合、Integration Serviceはグループごとに1つずつ行を生成します。 値のグループ分けを行わない場合、Integration Serviceはすべての入力行に対して1つの行を返します。 一般には、各グループの最終行(最後に受信した行)と集計結果を返します。 ただし、(例えばFIRST関数を使用して)特定の行を返すように指定した場合、Integration Serviceはその指定された行を返します。
アグリゲータトランスフォーメーションで複数のGroup Byポートを選択すると、Integration Serviceはポートの順序に基づいてグループ分けの順序を決定します。 グループの順序は結果に影響を及ぼす場合もあるため、グループ分けが妥当なものとなるように、Group Byポートの順序付けを行ってください。たとえば、ITEM_IDの後でQUANTITYのグループ分けを行った場合の結果と、QUANTITYの後でITEM_IDのグループ分けを行った場合の結果が異なることもありますが、その理由は、数量の数値が必ずしも一意ではないからです。
下記のアグリゲータトランスフォーメーションは、最初にSTORE_IDで、次にITEMでグループ分けを行います。
アグリゲータトランスフォーメーションは、名前、式、グループ別カラムを表示します。 このトランスフォーメーションはストアIDと項目によりグループ化されています。
このアグリゲータトランスフォーメーションに以下のデータを渡すとします。
STORE_ID
ITEM
QTY
PRICE
101
'battery'
3
2.99
101
'battery'
1
3.19
101
'battery'
2
2.59
101
'AAA'
2
2.45
201
'battery'
1
1.99
201
'battery'
4
1.59
301
'battery'
1
2.45
Integration Serviceは、以下の一意なグループで集計計算を実行します。
STORE_ID
ITEM
101
'battery'
101
'AAA'
201
'battery'
301
'battery'
その後、Integration Serviceは、最後に受信した行に集計の結果を格納して、以下のとおりに渡します。
STORE_ID
ITEM
TOTAL_QTY
SALES_PER_STORE_ITEM
101
'AAA'
2
4.90
101
'battery'
6
17.34
201
'battery'
5
8.35
301
'battery'
1
2.45