Skip to main content

コピーされた DPE 定義について

学習の目的

この単元を完了すると、次のことができるようになります。

  • Aggregate by Member (メンバー別集計) DPE 定義のノードを説明する。
  • DPE 定義の各ノード種別の使用方法を挙げる。

ビルダーの概要

Rishi が [設定] から [Aggregate by Member_AMER Rebate Program Aggregation (メンバー別集計_AMER リベートプログラム集計)] DPE 定義を開くと、データ処理エンジンページ (ビルダー) の主要セクションが表示されます。左側には、DPE 定義のビルディングブロックであるノードと入力変数のリストが表示されています。ただし、ページの大部分は空になっているため、定義の微調整とカスタマイズを行うためのキャンバスとして使用できます。ビルダーの各セクションの機能については、「Data Processing Engine Builder (データ処理エンジンビルダー)」を参照してください。

データ処理エンジンビルダーのランディングページ。

Rishi はノードについて詳しく知りたいと思っています。Rishi と Cindy がノードの詳細を確認する様子を見てみましょう。

ノードの優れた機能の紹介

データ処理エンジンの各ノード種別では、それぞれ異なる方法でデータを変換できます。以前、DPE 定義は製造の組立ラインのようなものであると説明しました。同じメーカーの同じモデルの自動車を、若干変更して製造したい場合はどうでしょうか? たとえば、自動車の色を赤から黒に変えたり、サンルーフを追加したり、シートをリクライニングレバー付きにしたりするとします。このような微調整は、既存の組立ラインの一連の手順を変更せずに行うことができます。ゼロから作り直す必要はありません。

これは DPE 定義でも同じです。若干の変更を行う場合は、定義をコピーして、関連ノードを微調整すれば完了です。Aggregate by Member (メンバー別集計) 定義をコピーすると、Cindy はすべてのノード、オブジェクト、項目を引き継ぐことができるため、ゼロから開始する必要はなく、コピーした定義に小さな変更を加えることだけに集中できます。 

Rishi と Cindy は変更を行う前に、定義の各ノードの機能を確認したいと考えています。

メモ

このモジュールでは、リベート管理の DPE 定義で使用されるノードについてのみ説明します。追加やスライスなどの他のノードについては、「Data Processing Engine Nodes (データ処理エンジンノード)」を参照してください。

以下の図は、対象のノードとそのノード同士がどのように関連しているかを示しています。ご安心ください。それぞれのノードがどのように機能し、どのように連携しているのかを説明していきます。 

Aggregate by Member (メンバー別集計) DPE 定義のノードがどのように関連しているかを示すフローチャート。

データ取得元

データ取得元には、処理用のデータを抽出できるすべてのオブジェクトが挙げられています。

  • プログラムリベート種別: 有効なリベート種別とその特定の ID を識別するのに役立ちます。
  • プログラムリベート種別商品: リベート種別に関連付けられている対象商品を特定するのに役立ちます (存在する場合)。対象商品は、リベート種別に含まれる商品または除外される商品に基づきます。
  • リベートメンバー商品集計: 集計レコードに必要な更新を識別するのに役立ちます。
  • リベートプログラム: 有効なリベートプログラムとその特定の ID を識別するのに役立ちます。
  • リベートプログラムメンバー: プログラムの有効なリベートメンバーとその ID を識別するのに役立ちます。
  • リベートプログラム支払期間: プログラムの有効なリベート支払期間を識別するのに役立ちます。
  • 取引記録: データを処理する場合に選択する必要がある取引記録を特定するのに役立ちます。

これで、定義にデータの取得元が設定されたところで、これでデータを絞り込んで関連レコードを見つけることができます。

検索条件

検索条件ノードは、説明した各データ取得元からレコードのセットを選択する場合の条件を識別するのに役立ちます。 

以下の検索条件では、入力変数を使用して、リベート種別、プログラム、メンバー、支払期間がそれぞれ検索されます。

  • Filter Program Rebate Type (プログラムリベート種別を絞り込む)
  • Filter Rebate Programs (リベートプログラムを絞り込む)
  • Filter Rebate Program Member (リベートプログラムメンバーを絞り込む)
  • Filter Rebate Program Payout Period (リベートプログラム支払期間を絞り込む)

実際の変数は、リベートオーケストレーションフローの実行時に入力できます。

レコードの絞り込みに役立つ他のノードは、以下のとおりです。

  • Filter Journals By Usage Type (取引記録を利用状況の種別で絞り込む): 利用状況の種別がリベートと定義されている取引記録レコードのみを取得して取得できます。
  • Filter Journals For Valid Products (有効な商品の取引記録を絞り込む): 対象商品の取引記録レコードのみを取得して取得できます。対象商品は、リベート種別に含まれる商品または除外される商品に基づきます。
  • Filter Active Rebate Types (有効なリベート種別を絞り込む): リベート種別レコードが有効であり、そのレコードの ID が現在の DPE の ID と同じであることを確認できます。ID 値は入力変数です。
  • Filter Active Rebate Programs (有効なリベートプログラムを絞り込む): リベートプログラムレコードが有効であることを確認できます。
  • Filter Active Rebate Program Members (有効なリベートプログラムメンバーを絞り込む): 特定のメンバーのメンバー状況が有効であることを確認できます。
  • Filter Active Rebate Program Payout Periods (有効なリベートプログラム支払期間を絞り込む): 特定の支払期間が有効であることを確認できます。

いくつの検索条件ノードでは、他の数式項目が取得元ノードとして使用されています。これについては後ほど取り上げます。

  • Filter New or Updated Aggregate Records (新規または更新された集計レコードを絞り込む): 有効な新規または更新されたレコードが Rebate Program Member Aggregate (リベートプログラムメンバー集計) オブジェクトに挿入されていることを確認できます。また、[Compute New Or Updated Aggregate Records (新規または更新された集計レコードを計算する)] を取得元ノードとして使用します。
  • Filter Transaction Journals With Valid Activity Dates (有効な活動日のある取引記録を絞り込む): 取引記録の有効なレコードに有効な活動日があることを確認できます。また、[Compute Transaction Journals With Activity Dates (活動日で取引記録を計算する)] を取得元ノードとして使用します。
  • Filter Valid Transaction Journals For Rebate Types (リベート種別の有効な取引記録を絞り込む): リベート種別検索条件に基づいた有効な新規または更新されたレコードが Rebate Program Member Aggregate (リベートプログラムメンバー集計) オブジェクトに挿入されていることを確認できます。また、[Compute Valid Transaction Journals Per Rebate Type (リベート種別ごとに有効な取引記録を計算する)] を取得元ノードとして使用します。

結合

処理用に取得するレコードタイプを理解したら、[結合] ノードを使用して、さまざまなレコードの項目にあるデータを結合し、類似する情報の照合を行います。事前定義された [結合] ノードは次のとおりです。

  • Active Program Rebate Type for Rebate Programs (リベートプログラムの有効なプログラムリベート種別): 有効なリベートプログラムの有効なプログラムリベート種別のリストを提供します。取得元ノードは、[Filter Active Rebate Types (有効なリベート種別を絞り込む)] と [Filter Active Rebate Programs (有効なリベートプログラムを絞り込む)] の 2 つの検索条件ノードです。
  • Valid Payout Period for Active Rebate Types (有効なリベート種別の有効な支払期間): 選択されたリベート種別の有効な支払期間のリストを提供します。取得元ノードは、[Active Program Rebate Type for Rebate Programs (リベートプログラムの有効なプログラムリベート種別)] と [Filter Active Rebate Program Payout Periods (有効なリベートプログラム支払期間を絞り込む)] です。
  • Program Members for Active Rebate Type and Payout Periods (有効なリベート種別と支払期間のプログラムメンバー): 選択された有効なリベート種別と支払期間の有効なメンバーのリストを提供します。取得元ノードは、[Valid Payout Period for Active Rebate Types (有効なリベート種別の有効な支払期間)] と [Filter Active Rebate Program Members (有効なリベートプログラムメンバーを絞り込む)] です。
  • [Add Rebate Type and Payout Period to Transaction Journals (取引記録にリベート種別と支払期間を追加する)]: リベート種別と支払期間に関する情報を取引記録に提供します。取得元ノードは、[Filter Journals By Usage Type (取引記録を利用状況の種別で絞り込む)] と [Program Members for Active Rebate Type and Payout Periods (有効なリベート種別と支払期間のプログラムメンバー)] です。
  • [Valid Activity Dated Journals with Program Rebate Type Product (プログラムリベート種別商品のある有効な活動日の取引記録)]: 対象商品のある有効な取引記録レコードのリストを提供します。対象商品は、リベート種別に含まれる商品または除外される商品に基づきます。取得元ノードは、[Filter Transaction Journals With Valid Activity Dates (有効な活動日のある取引記録を絞り込む)] と [プログラムリベート種別商品] です。
  • [Look Up Existing Aggregate Data (既存の集計データを参照する)]: 新規の集計されたレコードについて、以前に計算された集計データを参照します。取得元ノードは、[Total Transaction Amount and Total Quantity (トランザクションの合計金額と合計数量)] と [リベートメンバー商品集計] です。

数式

Rishi と Cindy は、処理に応じて、どのリベート種別、プログラム、メンバー、支払期間、取引記録が適しているかを理解できました。ですが、ある有効な取引記録レコードが特定のメンバーかつ特定のプログラム内の正しい支払期間に対応しているかどうかを把握するにはどうすればよいでしょうか? このような場合は、次の数式を作成すると各数式の結果を新しい項目に保存できます。

  • Compute Transaction Journals With Activity Dates (活動日で取引記録を計算する): 活動日が支払期間の開始日以降かつ終了日以前の取引記録レコードを特定します。
  • Compute Valid Transaction Journals Per Rebate Type (リベート種別ごとに有効な取引記録を計算する): リベート種別の検索条件を適用して、有効な取引記録を特定します。この検索条件は、[Filter Active Rebate Types (有効なリベート種別を絞り込む)] ノードにすでに含まれています。
  • Compute New Or Updated Aggregate Records (新規または更新された集計レコードを計算する): Rebate Program Member Aggregate (リベートプログラムメンバー集計) オブジェクトに挿入される新規または更新されたレコードを特定します。[Look Up Existing Aggregate Data (既存の集計データを参照する)] 結合ノードが取得元ノードとして使用されます。

グループと集計

以下のノードを使用すると、複数の項目を使用してデータセットをグループ化して項目値を集計できます。

  • Total Transaction Amount and Total Quantity (トランザクションの合計金額と合計数量): [Filter Valid Transaction Journals For Rebate Types (リベート種別の有効な取引記録を絞り込む)] ノードで取引の合計金額と合計数量を計算します。結果は、メンバー、リベート種別、支払期間別にグループ化されます。

書き戻しオブジェクト

検索条件、結合、数式、グループ、集計を適用することで、新規および更新されたすべての有効なレコードのリストを取得できます。このような有効なレコードは取得先オブジェクトである [リベートメンバー商品集計] に挿入する必要があります。 

変換されたデータは、書き戻しオブジェクトノードである [Upsert Total Transaction Amount and Total Quantity (トランザクションの合計金額と合計数量を更新/挿入する)] を使用して、取得先オブジェクトに結果として書き戻されます。

Cindy は [データマネージャー] の [レシピ] ページから DPE 定義のデータ変換シナリオを保存して実行することもできます。

データ処理エンジン定義が表示されている、[データマネージャー] の [レシピ] ページ。

Rishi と Cindy は、コピーされた DPE 定義にあるノードについて多くのことを学びました。次の単元では、このコピーされた DPE 定義のカスタマイズ方法を見ていきましょう。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む