目次

Search

  1. はじめに
  2. トランスフォーメーション
  3. ソーストランスフォーメーション
  4. ターゲットトランスフォーメーション
  5. アクセスポリシートランスフォーメーション
  6. B2B Data Transformation
  7. アグリゲータトランスフォーメーション
  8. クレンジングトランスフォーメーション
  9. データマスキングトランスフォーメーション
  10. データサービストランスフォーメーション
  11. 重複排除トランスフォーメーション
  12. 式トランスフォーメーション
  13. フィルタトランスフォーメーション
  14. 階層ビルダートランスフォーメーション
  15. 階層パーサートランスフォーメーション
  16. 階層プロセッサトランスフォーメーション
  17. 入力トランスフォーメーション
  18. Javaトランスフォーメーション
  19. JavaトランスフォーメーションAPIリファレンス
  20. ジョイナトランスフォーメーション
  21. ラベラトランスフォーメーション
  22. ルックアップトランスフォーメーション
  23. 機械学習トランスフォーメーション
  24. マップレットトランスフォーメーション
  25. ノーマライザトランスフォーメーション
  26. 出力トランスフォーメーション
  27. 解析トランスフォーメーション
  28. Pythonトランスフォーメーション
  29. ランクトランスフォーメーション
  30. ルータトランスフォーメーション
  31. ルール仕様トランスフォーメーション
  32. シーケンスジェネレータトランスフォーメーション
  33. ソータートランスフォーメーション
  34. SQLトランスフォーメーション
  35. 構造パーサートランスフォーメーション
  36. トランザクション制御トランスフォーメーション
  37. 共有体トランスフォーメーション
  38. Velocityトランスフォーメーション
  39. ベリファイヤトランスフォーメーション
  40. Webサービストランスフォーメーション

トランスフォーメーション

トランスフォーメーション

フィルタ条件の設定

フィルタ条件の設定

フィルタ条件を定義して、入力データのサブセットを階層プロセッサトランスフォーメーションに投影できます。受信フィールドまたは出力フィールドに基づいてフィルタリングを実行できます。
配列/構造フィールドのデータが出力グループの兄弟フィールドのデータと対応するようにする必要がある場合は、プリミティブフィールドから出力配列/構造フィールドにデータを読み取るようにフィルタ条件を設定します。

フィルタ設定の例

リレーショナルデータをJSONファイルに変換する必要があるとします。受信データは、注文情報を含むリレーショナルテーブルに含まれています。それぞれの注文には複数の製品が含まれるため、注文テーブルには注文ごとに複数の行が含まれます。
受信データは次のようになります。
OrderNumber,ProductName,ProductType,NumberOfItems,PricePerItem 12345,M&Ms Candies Chocolate Peanut Party Size - 38 Oz,Candy,2,14.49 12345,Stella Parm Shredded Cup - 20 Oz,Dairy,1,10.99 12345,AHA Sparkling Water Blueberry Pomegranate - 8-12 Fl. Oz.,Beverages,1,3.33 23456,Weetabix Biscuit Cereal Whole Grain 2 Count - 14 Oz,Breakfast & Cereal,2,4.99 23456,Producers Milk Lowfat 1% - Half Gallon,Dairy,1,2.79 23456,Egglands Best Eggs Cage Free Large Brown - 12 Count,Eggs,1,4.99
製品の詳細を、特定の注文番号に関連付けられている配列に読み込む必要があります。
次の図に、受信フィールドと出力フィールドの構造を示します。
この図は、階層プロセッサトランスフォーメーションの[階層プロセッサ]タブを示しています。[受信フィールド]パネルには、OrderNumber、ProductName、ProductType、NumberOfItems、およびPricePerItemというフィールドを持つ1つの入力グループが含まれています。[出力フィールド]パネルには、OrderNumber(文字列)とProductDetails(配列)というフィールドを持つ1つの出力グループが含まれています。ProductDetals配列には、ProductName、ProductType、NumberOfItems、およびPricePerItemというフィールドが含まれています。
[出力フィールド]パネルで[出力]グループのデータソースを
Input
に設定し、グループ化フィールドを
Input.OrderNumber
として設定して、出力から重複レコードを削除します。ProductDetails配列のデータソースを
Input
に設定します。
ProductDetails配列の詳細が出力の注文番号に対応するようにするには、配列に次のフィルタ条件を設定します。
:fld.{Input.OrderNumber}= :fld.{Output.OrderNumber}
レコードをさらに絞り込むには、フィルタでAND条件を使用します。例えば、「Candy」という製品タイプのレコードを除外するには、次のフィルタ条件を設定します。
:fld.{Input.OrderNumber}= :fld.{Output.OrderNumber} AND :fld.{Input.ProductType} ! = 'Candy'
出力には注文ごとに1つのレコードが含まれ、「Candy」という製品タイプの受信レコードは除外されます。
出力データには、次のようなレコードが含まれます。
{ "OrderNumber":"12345", "ProductDetails":[ { "ProductName":"AHA Sparkling Water Blueberry Pomegranate - 8-12 Fl. Oz.", "ProductType":"Beverages", "NumberOfItems":"1", "PricePerItem":"3.33" }, { "ProductName":"Stella Parm Shredded Cup - 20 Oz", "ProductType":"Dairy", "NumberOfItems":"1", "PricePerItem":"10.99" } ] } { "OrderNumber":"23456", "ProductDetails":[ { "ProductName":"Egglands Best Eggs Cage Free Large Brown - 12 Count", "ProductType":"Eggs", "NumberOfItems":"1", "PricePerItem":"4.99" }, { "ProductName":"Producers Milk Lowfat 1% - Half Gallon", "ProductType":"Dairy", "NumberOfItems":"1", "PricePerItem":"2.79" }, { "ProductName":"Weetabix Biscuit Cereal Whole Grain 2 Count - 14 Oz", "ProductType":"Breakfast & Cereal", "NumberOfItems":"2", "PricePerItem":"4.99" } ] }