目次

Search

  1. はじめに
  2. Informatica Big Data Managementの概要
  3. マッピング
  4. ソース
  5. ターゲット
  6. トランスフォーメーション
  7. クラスタワークフロー
  8. プロファイル
  9. 監視
  10. 階層データ処理
  11. 階層データ処理設定
  12. スキーマが変更された階層データの処理
  13. インテリジェント構造モデル
  14. ステートフルコンピューティング
  15. 接続
  16. データ型リファレンス
  17. 関数リファレンス

ユーザーガイド

ユーザーガイド

ウィンドウ関数としての集計関数例

ウィンドウ関数としての集計関数例

人事グループのための業務で、各従業員の給与をその従業員の部門の平均給与と比較しようとしています。
次の表に、部門名、従業員ID番号、従業員の給与の一覧を示します。
Department
Employee
Salary
Development
11
5200
Development
7
4200
Development
9
4500
Development
8
6000
Development
10
5200
Personnel
5
3500
Personnel
2
3900
Sales
3
4800
Sales
1
5000
Sales
4
4800
すべての従業員を計算に含めるための、バインドなしフレームを設定し、各従業員の給与とその従業員の部門内の平均給与との間の差異を計算する集計関数を定義します。

ウィンドウ化プロパティ

[ウィンドウイング]タブで、次のウィンドウイングプロパティを定義します。
プロパティ
説明
オーダーキー
昇順の給与
。データを給与の昇順に配置します。
パーティションキー
部門
。行を部門別にグループ化します。
開始オフセット
前のすべての行
終了オフセット
後のすべての行
バインドなしフレームを使用すると、集計関数に計算内のすべてのパーティション行が含まれます。
例えば、現在の行が3行目だとします。3行目は「Development」パーティション内にあるため、このフレームには、「Development」パーティション内の3行目前後のすべての行に加えて、3行目が含まれます。
次の図に、式トランスフォーメーションで設定するウィンドウ化プロパティを示します。
[ウィンドウイング]タブで、昇順の給与がオーダーキーとして選択されており、部門がパーティションキーとして選択されています。フレームは[前のすべての行]と[後のすべての行]です。

ウィンドウ関数

ウィンドウ化用のトランスフォーメーションを設定すると、集計関数はウィンドウ関数として動作します。
各従業員の給与とその従業員の部門内の平均給与との間の差異を計算する集計関数を定義します。
Salary - AVG ( Salary ) = Salary_Diff

アウトプット

トランスフォーメーションは、次の給与の差異を生成します。
Department
Employee
Salary
Salary_Diff
Development
11
5200
-820
Development
7
4200
-520
Development
9
4500
180
Development
8
6000
180
Development
10
5200
980
Personnel
5
3500
200
Personnel
2
3900
200
Sales
3
4800
-66
Sales
1
5000
-66
Sales
4
4800
134
どの従業員が自部門の平均給与よりも少なく、または多く稼いでいるかを特定できます。この情報に基づき、その他のトランスフォーメーションを追加し、データをより詳しく調べることができます。例えば、ランクトランスフォーメーションを追加し、各従業員の自部門内での数値的なランクを生成できます。