タスク > マスキングタスク > オブジェクトが2つある場合のデータサブセットの使用事例
  

オブジェクトが2つある場合のデータサブセットの使用事例

タスク内のオブジェクトにフィルタを定義する際、タスクはデフォルトパスを選択します。これにより、タスクはグラフ全体を最低1回トラバースできます。
選択した各レコードについて、タスクは、参照整合性を維持するためにすべての親レコードをロードします。オブジェクトから子レコードを選択するためのリレーション動作を設定できます。
AccountとContactという2つのオブジェクトがあるとします。Accountは親オブジェクトであり、ContactはAccountの子オブジェクトです。AccountオブジェクトまたはContactオブジェクトにはフィルタを適用できます。タスクが選択するデフォルトパスを使用するか、パスを設定できます。デフォルトパスを選択した場合、トラバースされるパスの数は最小数です。
サブセット行の数は、タスクがロードするすべてのターゲット行の合計ではありません。サブセットの推測値には、すべてのリレーションから選択され、ターゲットにロードされた一意のレコード数が表示されます。

例1.Accountにフィルタを使用した場合のデフォルトパスの選択

Aで始まるアカウント名という条件でAccountオブジェクトにフィルタを適用するとします。
次の図は、設定可能なデータサブセットフィルタ条件を示しています。
この図では、Aで始まるアカウント名という条件のAccountオブジェクトにデータサブセットフィルタが適用されています。結合操作の数は2つです。
タスクは、リレーションAccountを介して、AccountからContactのデフォルトパスをトラバースします。デフォルトパスを選択してサブセットを計算する場合の結合操作の数は2つです。
次の図は、AccountオブジェクトとContactオブジェクトのリレーションを表しています。
この図は、AccountオブジェクトとContactオブジェクトのリレーションを示しています。リレーションAccountを介したAccountからContactのパスが選択されています。
タスクはまず、フィルタが適用されたAccountオブジェクトからレコードをロードします。次に、リレーションAccountを介して、AccountからContactのデフォルトパスをトラバースし、レコードをロードします。参照整合性を維持するため、タスクは、リレーションParentAccount__rを介して、ContactからAccountにトラバースします。
次の図は、タスクがレコードを選択する順序を示しています。
この図は、Accountオブジェクトにフィルタを適用した場合の、AccountオブジェクトとContactオブジェクトの選択順序を示しています。
適用したフィルタに基づき、Accountオブジェクトの行数は4です。リレーションAccountを介したAccountからContactへのパスでは、Contactオブジェクトの行数は5です。リレーションParentAccount__rを介したContactからAccountへのパスでは、Accountオブジェクトの行数は3です。
サブセット行の数を表示するには、サブセットを推定します。複数の結合操作に共通レコードがある場合、タスクはレコードを更新します。新規レコードがある場合、タスクはサブセット行を追加します。この使用事例では、Accountオブジェクトの行が全部で7行表示されていますが、タスクがすべてのリレーションからロードするAccountオブジェクト固有のサブセット行は4行です。Contactオブジェクトについてタスクがロードするサブセット行は5行です。
次の図は、タスクで推定できるサブセット統計情報を示しています。
この図は、AccountオブジェクトとContactオブジェクトのサブセット統計情報を示しています。

例2.Accountにフィルタを使用した場合の設定パスの選択

Aで始まるアカウント名という条件でAccountオブジェクトにフィルタを適用するとします。
次の図は、設定可能なデータサブセットフィルタ条件を示しています。
この図では、Aで始まるアカウント名という条件のAccountオブジェクトにデータサブセットフィルタが適用されています。結合操作の数は4つです。
AccountオブジェクトとContactオブジェクトの間で、リレーションAccountとリレーションParentAccount__rの両方を選択したとします。設定パスを使用してサブセットを計算する場合の結合操作の数は4つです。
次の図は、AccountオブジェクトとContactオブジェクトのリレーションを表しています。
この図は、AccountオブジェクトとContactオブジェクトのリレーションを示しています。リレーションAccountを介したAccountからContactのパス、およびリレーションParentAccount__rを介したContactからAccountのパスが選択されています。
タスクはまず、フィルタが適用されたAccountオブジェクトからレコードをロードします。次に、リレーションAccountとリレーションParentAccount__rの両方を介して、選択したAccountからContactのパスをトラバースします。参照整合性を維持するため、タスクは、リレーションAccountとリレーションParentAccount__rの両方を介して、ContactからAccountにトラバースします。
次の図は、オブジェクトの選択順序を示しています。
この図は、Accountオブジェクトにフィルタを適用した場合の、AccountオブジェクトとContactオブジェクトの選択順序を示しています。
適用したフィルタに基づき、Accountオブジェクトの行数は5です。AccountからContactへのパスでは、リレーションAccountとリレーションParentAccount__rの両方で、Contactオブジェクトの行数は10です。ContactからAccounttへのパスでは、リレーションAccountとリレーションParentAccount__rの両方で、Accountオブジェクトの行数は10です。
サブセット行の数を表示するには、サブセットを推定します。複数の結合操作に共通レコードがある場合、タスクはレコードを更新します。新規レコードがある場合、タスクはサブセット行を追加します。この使用事例では、Accountオブジェクトの行が全部で12行表示されていますが、タスクが両方のリレーションからロードするAccountオブジェクト固有のサブセット行は5行です。Contactオブジェクトについては全部で10行表示されていますが、タスクが両方のリレーションからロードするContactオブジェクト固有のサブセット行は7行です。
次の図は、タスクで推定できるサブセット統計情報を示しています。
この図は、AccountオブジェクトとContactオブジェクトのサブセット統計情報を示しています。

例3.Contactにフィルタを使用した場合のデフォルトパスの選択

Aで始まる名という条件でContactオブジェクトにフィルタを適用するとします。
次の図は、設定可能なデータサブセットフィルタ条件を示しています。
この図では、Aで始まる名という条件のContactオブジェクトにデータサブセットフィルタが適用されています。結合操作の数は2つです。
AccountオブジェクトはContactオブジェクトの親であり、フィルタはContactオブジェクトに適用されるため、タスクは、子レコードの選択に対するリレーションを選択しません。参照整合性を維持するため、タスクは、リレーションAccountとリレーションParentAccount__rの両方を介して、ContactからAccountにトラバースします。デフォルトパスを選択してサブセットを計算する場合の結合操作の数は2つです。
次の図は、AccountオブジェクトとContactオブジェクトのリレーションを表しています。
この図は、AccountオブジェクトとContactオブジェクトのリレーションを示しています。
タスクはまず、フィルタを適用するContactオブジェクトからレコードをロードします。次に、リレーションAccountとリレーションParentAccount__rを介して、ContactからAccountのパスをトラバースし、レコードをロードします。
次の図は、タスクがレコードを選択する順序を示しています。
この図は、Contactオブジェクトにフィルタを適用した場合の、AccountオブジェクトとContactオブジェクトの選択順序を示しています。
適用したフィルタに基づき、Contactオブジェクトの行数は12です。リレーションAccountおよびParentAccount__rを介したContactからAccountへのパスでは、Accountオブジェクトの行数は13です。
サブセット行の数を表示するには、サブセットを推定します。複数の結合操作に共通レコードがある場合、タスクはレコードを更新します。この使用事例では、Accountオブジェクトの行が全部で13行表示されていますが、タスクがすべてのリレーションからロードするAccountオブジェクト固有のサブセット行は12行です。Contactオブジェクトについてタスクがロードするサブセット行は12行です。
次の図は、タスクで推定できるサブセット統計情報を示しています。
この図は、AccountオブジェクトとContactオブジェクトのサブセット統計情報を示しています。

例4.Contactにフィルタを使用した場合の設定パスの選択

Aで始まる名という条件でContactオブジェクトにフィルタを適用するとします。
次の図は、設定可能なデータサブセットフィルタ条件を示しています。
この図では、Aで始まる名という条件のContactオブジェクトにデータサブセットフィルタが適用されています。結合操作の数は6つです。
AccountオブジェクトとContactオブジェクトの間で、リレーションAccountとリレーションParentAccount__rの両方を選択したとします。設定パスを選択してサブセットを計算する場合の結合操作の数は6つです。
次の図は、AccountオブジェクトとContactオブジェクトのリレーションを表しています。
この図は、AccountオブジェクトとContactオブジェクトのリレーションを示しています。リレーションAccountを介したAccountからContactのパス、およびリレーションParentAccount__rを介したContactからAccountのパスが選択されています。
タスクはまず、フィルタを適用するContactオブジェクトからレコードをロードします。参照整合性を維持するため、タスクは、リレーションAccountとリレーションParentAccount__rの両方を介して、ContactからAccountにトラバースします。次に、リレーションAccountとリレーションParentAccount__rを使用して、選択した子レコードの設定パスを介してAccountからContactにトラバースし、追加レコードをロードします。追加レコードの参照整合性を維持するため、タスクは、リレーションAccountとリレーションParentAccount__rの両方を介して、ContactからAccountにトラバースします。
次の図は、タスクがレコードを選択する順序を示しています。
この図は、Contactオブジェクトにフィルタを適用した場合の、AccountオブジェクトとContactオブジェクトの選択順序を示しています。
適用したフィルタに基づき、Contactオブジェクトの行数15です。ContactからAccountへのパスでは、リレーションAccountとリレーションParentAccount__rの両方で、Accountオブジェクトの行数は13行です。AccountからContactへのパスでは、リレーションAccountとリレーションParentAccount__rの両方で、Contacオブジェクトの行数は16行です。ContactからAccountへのパスでは、リレーションAccountとリレーションParentAccount__rの両方で、Accountオブジェクトの行数は17行です。
サブセット行の数を表示するには、サブセットを推定します。複数の結合操作に共通レコードがある場合、タスクはレコードを更新します。この使用事例では、Accountオブジェクトの行が全部で30行表示されていますが、タスクが両方のリレーションからロードするAccountオブジェクト固有のサブセット行は14行です。Contactオブジェクトについては全部で31行表示されていますが、タスクが両方のリレーションからロードするContactオブジェクト固有のサブセット行は15行です。
次の図は、タスクで推定できるサブセット統計情報を示しています。
この図は、AccountオブジェクトとContactオブジェクトのサブセット統計情報を示しています。