目次

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トランスフォーメーション

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

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

グループの定義

グループの定義

アグリゲータトランスフォーメーションの場合と同様に、ランクトランスフォーメーションでは情報をグループ化できます。たとえば製造業者別に最も高価な商品を10個選択したい場合は、まずそれぞれの製造業者についてグループを定義します。ランクトランスフォーメーションを設定するときに、そのいずれかの入出力ポートをGroup Byポートとして設定することができます。グループポート内の一意の値それぞれに対して、トランスフォーメーションは、ランク定義(最上位または最下位、および各ランク内の特定の順位)に該当する行のグループを作成します。
したがって、ランクトランスフォーメーションは行の数を2つの方法で変更します。1つは、最上位または最下位のランクに収まる行を除いたすべての行をフィルタリングして除外することにより、トランスフォーメーションを通過する行の数を減らします。もう1つはグループを定義することにより、各グループでランク付けされた行のセットを1つ作成します。
たとえば、会社内で給料の高い50人の従業員を調べるために、ランクトランスフォーメーションを作成するとします。この場合、ランク付けの基準とする入出力ポートとしてSALARYカラムを指定し、上位50位以外のすべての行をフィルタで除外するようにトランスフォーメーションを設定します。
ランクトランスフォーメーションは、最上位または最下位のランクに属する行をすべて識別したあと、ランクインデックス値を割り当てます。給料を基準に上位50人の従業員を識別する場合、最高額の給料が支払われている従業員に対し、ランクインデックスとして1が与えられます。次に給料が多い従業員には、ランクインデックスとして2が与えられ、以下同じようにランクインデックスが割り当てられます。たとえば目録内で値段の安い10個の製品といった最下位ランクを求める場合、ランクトランスフォーメーションは最下位から最上位の順にランクインデックスを割り当てます。したがって、最も値段の安い商品のランクインデックスには1が与えられます。
2つのランク値が一致すると、それらは同じランクインデックス内で同じ値を受け取り、トランスフォーメーションはその次の値をスキップします。たとえば国内で最上位の5つの小売り店を調べたときに2つの小売り店が同じ売り上げである場合、返されるデータは次のようになります。
RANKINDEX
SALES
STORE
1
10000
Orange
1
10000
Brea
3
90000
Los Angeles
4
80000
Ventura