Allocation By Assignment Dimension
割り当てディメンションとドライバーデータテーブルに基づいて、ソーステーブルの値をターゲットに配賦します。これは最も柔軟な配賦ステップで、各ソース行の配賦先を階層で決め、ドライバーの値でどれだけをどこに配賦するかを決める、ドライバーベースの分配に使用します。
よくあるパターン: アクティビティ時間を使って、コストセンターの合計を製品ラインに分配する。人数に基づいて、ITの間接費を事業部門に配賦する。カスタムの重み付けを使って、共有サービスのコストを配賦する。
データテーブルの設定
Section titled “データテーブルの設定”割り当てディメンションの階層
Section titled “割り当てディメンションの階層”
割り当てディメンションの階層を使うと、ポイントとクリックで、配賦する値のテーブルとドライバーデータテーブルのどちらか一方、または両方をフィルターして、的を絞った配賦を作成できます。 割り当てディメンションの階層は、配賦する値のテーブルとドライバーデータテーブルを参照するディメンションを組み合わせて作成します。
割り当てディメンションの階層を作成する
Section titled “割り当てディメンションの階層を作成する”割り当てディメンションの階層を作成するには、まず、配賦する値のテーブルとドライバーデータテーブルのフィルターとして使用するディメンションを作成する必要があります。ディメンションの作成方法は、次のリンクを参照してください。
メイン階層を作成する
Section titled “メイン階層を作成する”配賦する値のテーブルとドライバーデータテーブルのディメンションを作成したら、次に、配賦する値のテーブルのディメンションのうちどれを、割り当てディメンションの階層のメイン階層にするかを決めます。
PlaidCloudのディメンションタブでディメンションをクリックし、アクション、ディメンションをコピーの順に選択して、このディメンションをコピーします。 ディメンションをコピーすると、コピーしたディメンションの名前を入力するポップアップが表示されます。
割り当て階層にディメンションを追加する
Section titled “割り当て階層にディメンションを追加する”新しく作成した割り当てディメンションを開き、プロパティの横にある下向き矢印をクリックして、新規プロパティを選択します。

プロパティ構成ダイアログボックスが開きます。
プロパティ構成
Section titled “プロパティ構成”
- プロパティ名 - 通常は、割り当て階層に追加するディメンションの名前です。
- プロパティ表示 - 「Tag」に設定します。
- プロパティタイプ - このプロパティは、このディメンションが配賦する値のテーブルとドライバーデータテーブルのどちらに関連するかを、配賦ステップに伝えます。
- ソース - 配賦する値のテーブルと組み合わせて使用します。
- ターゲット - ドライバーデータテーブルと組み合わせて使用します。
- ドライバー - 選択した特定のドライバーでドライバーデータテーブルをフィルターするために使用します。
- コンテキスト - 配賦する値のテーブルとドライバーデータテーブルに同じディメンションが含まれる場合、コンテキストを使って、ディメンション同士の関係を指定できます。コンテキストは、配賦する値のテーブルとドライバーデータテーブルの両方に_プロフィットセンター/コストセンター_または_地域_が含まれる場合によく使用されます。
- 空白のまま - 独自のコンテキストを持たないノードは、コンテキストを設定している最も近い祖先のコンテキストを引き継ぎます。したがって、空白のセルは「コンテキストなし」ではなく、_継承_を意味します。どの祖先もコンテキストを設定していない場合に限り、ドライバーデータテーブルは、ターゲットディメンション自身の設定でフィルターされる状態に戻ります。
- 現在 - パススルーとして動作し、ターゲットディメンションの設定に基づいてドライバーデータテーブルをフィルターします。たとえば、コンテキストが_プロフィットセンター_ディメンションに基づいていて、_プロフィットセンター_のターゲットディメンションがすべてに設定されている場合、ドライバーデータはすべての_プロフィットセンター_でフィルターされます。これは保存された値であるため、上で説明した継承も止めます。したがって、祖先がコンテキストを設定している場合に、ノードが「ここにはコンテキストなし」と示すには、現在を使用します。代わりにセルをクリアすると、そのノードは祖先のコンテキストを引き継いでしまいます。
- 親 - 選択すると、配賦する値のテーブルの_プロフィットセンター_の親が、ドライバーデータテーブルのドライバー値をフィルターするために使用されます。特定の_プロフィットセンター_ではドライバー値が得られないことがあっても、親のレベルでは得られることが多い場合に便利です。
- すべて - 選択すると、配賦する値のテーブルの_プロフィットセンター_は、ドライバーデータテーブルのドライバー値をフィルターせず、すべての_プロフィットセンター_のドライバー値が使用されます。
- 未割り当て - ターゲットディメンションが選択するドライバー行の代わりに、_プロフィットセンター_に値がまったくない行、または
UNASSIGNED(大文字と小文字は問いません)と読める行のみが使用され、_プロフィットセンター_は結果を分割しません。どの_プロフィットセンター_にも属さないコストを分配するルールに使用します。これは、設定したルールにのみ影響します。同じ列を空白のままにしている別のルールには影響しません。
- エディタータイプ - このドロップダウンはSelect Dimensionに設定します。
割り当て階層に追加するディメンションに適切なプロパティを選択したら、「構成を編集」を選択します。
ディメンションの構成
Section titled “ディメンションの構成”
- ディメンション - ドロップダウンを使ってディメンションを選択します。
- 階層 - 選択したディメンションに代替階層がある場合は、メイン階層に加えて、それらもここに表示され、選択できます。
- Start Node - ディメンションを最上位のノードから表示したくない場合は、階層内の任意のノードを、ディメンションの表示を開始するノードとして選択できます。
- 複数選択を許可 - オンにすると、階層内の複数のノードを選択できるようになります。
- 特殊なケース - 選択すると、特殊なケースがディメンションのドロップダウンメニューで選択できるようになります。通常は、ターゲットディメンションで使用されます。
- ソース - ディメンションが_ソース_に設定されている場合、配賦はドライバーデータテーブルをフィルターするときにこのディメンションを無視しますが、配賦結果にはこのディメンションの値が含まれます。
- 現在 - _ソース_と_ターゲット_でディメンションを共有している場合に使用できます。_ターゲット_ディメンションが現在に設定されていると、配賦の実行中、ドライバーデータテーブルは_ソース_ディメンションの現在の値でフィルターされます。たとえば、配賦する値のテーブルとドライバーデータテーブルに複数の期間があり、期間をまたがず、期間内で配賦したい場合です。事業部門、コストセンター、_地域_に現在を使用することも一般的です。
- 未割り当て - ディメンションが_未割り当て_に設定されている場合、配賦はドライバーデータテーブルをフィルターするときにこのディメンションを無視し、このディメンションの配賦結果は_Null_値になります。
- すべて - ディメンションが_ALL_に設定されている場合、配賦はそのディメンションのすべての値を使用します。
配賦する値のテーブル、ドライバーデータテーブル、配賦結果テーブルは、動的または静的に選択できます。
動的なテーブルの選択
Section titled “動的なテーブルの選択”動的テーブルのオプションでは、テキストと変数を使ってテーブルを指定できます。テーブルやビューへの参照が、指定した変数に応じて変わる、変数駆動のワークフローを使う場合に便利です。
current_month変数を使って、動的にテーブルを指す例:
legal_entity/inputs/{current_month}/ledger_values静的なテーブルの選択
Section titled “静的なテーブルの選択”特定のテーブルをソースにしたい場合は、動的ボックスをオフのままにして、ドロップダウンメニューからソーステーブルを選択します。
テーブルエクスプローラーは、どのテーブル選択でも常に利用できます。テーブル選択の右にあるテーブルエクスプローラーボタンをクリックすると、テーブルエクスプローラーのウィンドウが開きます。
配賦する値のテーブル
Section titled “配賦する値のテーブル”配賦する値を含むテーブルです。通常は、コストまたは収益の値です。
ドライバーデータテーブル
Section titled “ドライバーデータテーブル”ドライバーデータテーブルには、配賦ステップがコストを配賦するために使用する値が含まれます。
例:
- サプライチェーンで顧客にコストを割り当てる場合は、配送データを使い、配送の件数または配送の重量をドライバーにできます。
- ITヘルプデスクが、支援する部門にコストを割り当てる場合は、ドライバーデータはコストセンターごとのチケット数になります。
ドライバーデータの符号ルール
Section titled “ドライバーデータの符号ルール”ドライバーデータには、正の値と負の値の両方を含めることができます。ドライバーデータの符号ルールでは、符号が競合する場合の処理方法を決めます。
- 符号が競合する場合はエラー - 符号が競合すると、配賦ステップはエラーを出して停止します。
- 符号が競合する場合は警告して続行 - 配賦ステップは負のドライバー値と正のドライバー値の両方を使用し、警告を表示します。
- 正のドライバー値のみを使用 - 配賦ステップは正のドライバー値のみを使用し、負の値は無視します。
- 負のドライバー値のみを使用 - 配賦ステップは負のドライバー値のみを使用し、正の値は無視します。
- ドライバーデータの絶対値を使用 - 配賦ステップは、ドライバーデータの絶対値を使用します。
複数のルールにレコードを照合する
Section titled “複数のルールにレコードを照合する”デフォルトでは、レコードは最初に一致したルールだけを適用します。レコードを1つのルールにのみ照合をオフにすると、一致したすべてのルールが適用されます。レコードは一致したルールごとに1回ずつ現れ、どのルールにも一致しないレコードは除外されます。
ルールは、シーケンスタイプの割り当てディメンションのプロパティによって、反復に分割することもできます。そのプロパティの値が、各ルールが実行される反復です。レコードを1つのルールにのみ照合をオフにしたステップでは、両方を同時に使うことはできません。実行されるルールが複数の反復にまたがる場合、ステップはCannot apply rules when there are multiple iterations and records can match more than one ruleというエラーで停止します。このオプションをオンにするか、各反復を別々のステップとして実行してください。
中間テーブル
Section titled “中間テーブル”_中間テーブル_は、配賦ステップが実行されるたびに作成され、配賦処理の概要を提供します。_中間テーブル_は、配賦処理がどのように実行されているかを把握するのに役立ち、予期しない結果のトラブルシューティングに使用します。
- パス - 割り当て階層から集計された、一意の配賦パスの数を示します。
- マッピング - 配賦する値のテーブルの各行が、配賦ターゲットにどのようにマッピングされているかを示します。
- サマリー - 割り当て階層から導かれる各ルールと、配賦する値のテーブルのレコードのうち、いくつがそれに一致するかを示します。
レコードを1つのルールにのみ照合をオンにした場合、どのルールにも一致しないレコードは、マッピングテーブルのルール列が空になり、ルールを示さないサマリー行にカウントされます。ルールが空白のままにしている値も、空になります。PandasではなくSQLでルールを適用がオンかどうかにかかわらず、空とは空文字列ではなくnullを意味し、3つのテーブルの列と型は同じです。
配賦結果テーブル
Section titled “配賦結果テーブル”結果をターゲットテーブルに追加
Section titled “結果をターゲットテーブルに追加”このボックスをオンにすると、配賦結果が配賦結果テーブルに追加されます。 このボックスをオフにすると、配賦ステップが実行されるたびに、配賦結果テーブルが上書きされます。
配賦結果を別の列に出力
Section titled “配賦結果を別の列に出力”このボックスをオンにすると、結果テーブルには、各配賦レコードの金額と、各ドライバーレコードに実際に配賦された金額の両方が表示されます。
ディメンションノードの名前を変更
Section titled “ディメンションノードの名前を変更”このボックスをオンにすると、配賦ステップの実行時に、割り当てディメンションのディメンションノードの名前が変更されます。
詳細オプション
Section titled “詳細オプション”配賦ステップが使用する同時操作の数を設定します。
チャンクサイズ
Section titled “チャンクサイズ”1つのスレッド内の配賦パスの数を設定します。
配賦ソースマップ
Section titled “配賦ソースマップ”
配賦ソースマップは、配賦ステップで使用する配賦する値のテーブルの列をマッピングするために使用します。
ソースの検査とマッパーへの入力
ソースを検査メニューボタンを使用すると、ソースからターゲットへ列をマッピングするための方法が追加で利用できます。
- 両方のマッピングテーブルを入力: ソースデータテーブルのすべての値をターゲットデータテーブルに反映します。これがデフォルトの動作です。
- ソースマッピングテーブルのみを入力: ソースデータテーブルの値のみをマッピングします。ソース列の構造が変わった既存のワークフローを変更する場合に便利です。
- ターゲットマッピングテーブルのみを入力: すべての値をターゲットデータテーブルにのみ反映します。
ソース列とターゲット列のオプションだけでは足りない場合は、次のようないくつかの方法でターゲットデータテーブルに列を追加できます。
- すべてを反映を選択すると、すでに存在するかどうかにかかわらず、すべてのソース列がターゲットデータテーブルに挿入されます。
- 選択を反映を選択すると、選択したソース列のみが挿入されます。
- ターゲット側を右クリックして行を挿入を選択すると、現在選択している行の直前に行が挿入されます。
- ターゲット側を右クリックして行を追加を選択すると、ターゲットデータテーブルの末尾(右端)に行が挿入されます。
ロール
データマッパーの各列にはロールを割り当てる必要があります。
- Pass Thought - これらの列は配賦結果テーブルに表示されます。
- 配賦する値 - 配賦する値が含まれる列です。
列の削除
ターゲットデータテーブルから列を削除するには、削除する列を選択し、右クリックして削除を選択します。
列の順序の変更
ターゲットデータテーブルの列を並べ替えるには、対象の列を選択します。次のいずれかを使用できます。
- 一括移動の矢印: 右上の矢印から移動方法を選択します
- コンテキストメニュー: 右クリックして先頭へ移動、上へ移動、下へ移動、末尾へ移動のいずれかを選択します。
結果を重複のないレコードのみに絞り込む
重複のない結果のみを返すには、重複排除メニューオプションを選択します。ソースの各列にチェックボックスが表示されます。重複排除の対象とする列の横にあるボックスをオンにすると、重複のない結果のみが返されます。
状況によっては、代わりに集計の使用を検討することもできます。
重複排除では、最初に見つかった一意のレコードが保持され、残りは破棄されます。実行間で結果の一貫性が必要な場合は、データに並べ替えを適用することをおすすめします。
集計とグループ化
結果を集計するには、集計メニューオプションを選択します。ターゲットデータテーブルの各列に選択ボックスが表示されます。列ごとに適切な集計方法を選択します。
- グループ化
- 合計
- 最小
- 最大
- 最初
- 最後
- 件数
- 件数 (NULLを含む)
- 平均
- 標準偏差
- 標本標準偏差
- 母標準偏差
- 分散
- 標本分散
- 母分散
- 高度な非グループ化
式、クレンジング、定数などのデータマッパーの高度な使い方については、データマッパーの高度な使い方を参照してください。
配賦ソースフィルター
Section titled “配賦ソースフィルター”
柔軟性を最大限に高めるため、データフィルターはソースデータとターゲットデータの両方で使用できます。データセットが大きい場合は、ソース側で行を絞り込んでおくと、残りの処理を小さなデータセットに対して実行できるため、特に効果的です。
データのサブセットを選択
このフィルタータイプでは、指定した条件に基づいて、受信するソースデータをフィルター処理できます。
結果データにセカンダリフィルターを適用
このフィルタータイプでは、変換後の結果データに対して、指定した条件に基づくフィルターを適用できます。 変換後の結果にフィルターを適用できるため、複雑な計算、集計、ウィンドウ関数の結果に基づいて行を除外できます。
最終データテーブルのスライス(制限)
行のスライス機能では、範囲と開始位置に基づいて、結果セットの行数を制限できます。
フィルター構文
フィルター構文には Python SQLAlchemy を使用します。これは他の式と同じ構文です。
式の例と式関数については、式のセクションを参照してください。
ドライバーデータマップ
Section titled “ドライバーデータマップ”
配賦ドライバーデータマップは、配賦ステップで使用するドライバーデータテーブルの列をマッピングするために使用します。
ソースの検査とマッパーへの入力
ソースを検査メニューボタンを使用すると、ソースからターゲットへ列をマッピングするための方法が追加で利用できます。
- 両方のマッピングテーブルを入力: ソースデータテーブルのすべての値をターゲットデータテーブルに反映します。これがデフォルトの動作です。
- ソースマッピングテーブルのみを入力: ソースデータテーブルの値のみをマッピングします。ソース列の構造が変わった既存のワークフローを変更する場合に便利です。
- ターゲットマッピングテーブルのみを入力: すべての値をターゲットデータテーブルにのみ反映します。
ソース列とターゲット列のオプションだけでは足りない場合は、次のようないくつかの方法でターゲットデータテーブルに列を追加できます。
- すべてを反映を選択すると、すでに存在するかどうかにかかわらず、すべてのソース列がターゲットデータテーブルに挿入されます。
- 選択を反映を選択すると、選択したソース列のみが挿入されます。
- ターゲット側を右クリックして行を挿入を選択すると、現在選択している行の直前に行が挿入されます。
- ターゲット側を右クリックして行を追加を選択すると、ターゲットデータテーブルの末尾(右端)に行が挿入されます。
ロール
データマッパーの各列にはロールを割り当てる必要があります。
- Source Relation - これらの列は、配賦する値のテーブル内の対応する列を持ちます。
- Allocation Target - これらの列は配賦ステップのターゲットとなり、配賦結果テーブルに表示されます。
- Split Value - この列には、配賦する値のテーブルの値を配賦するために使用する値が含まれます。
列の削除
ターゲットデータテーブルから列を削除するには、削除する列を選択し、右クリックして削除を選択します。
列の順序の変更
ターゲットデータテーブルの列を並べ替えるには、対象の列を選択します。次のいずれかを使用できます。
- 一括移動の矢印: 右上の矢印から移動方法を選択します
- コンテキストメニュー: 右クリックして先頭へ移動、上へ移動、下へ移動、末尾へ移動のいずれかを選択します。
結果を重複のないレコードのみに絞り込む
重複のない結果のみを返すには、重複排除メニューオプションを選択します。ソースの各列にチェックボックスが表示されます。重複排除の対象とする列の横にあるボックスをオンにすると、重複のない結果のみが返されます。
状況によっては、代わりに集計の使用を検討することもできます。
重複排除では、最初に見つかった一意のレコードが保持され、残りは破棄されます。実行間で結果の一貫性が必要な場合は、データに並べ替えを適用することをおすすめします。
集計とグループ化
結果を集計するには、集計メニューオプションを選択します。ターゲットデータテーブルの各列に選択ボックスが表示されます。列ごとに適切な集計方法を選択します。
- グループ化
- 合計
- 最小
- 最大
- 最初
- 最後
- 件数
- 件数 (NULLを含む)
- 平均
- 標準偏差
- 標本標準偏差
- 母標準偏差
- 分散
- 標本分散
- 母分散
- 高度な非グループ化
式、クレンジング、定数などのデータマッパーの高度な使い方については、データマッパーの高度な使い方を参照してください。
ドライバーデータフィルター
Section titled “ドライバーデータフィルター”
柔軟性を最大限に高めるため、データフィルターはソースデータとターゲットデータの両方で使用できます。データセットが大きい場合は、ソース側で行を絞り込んでおくと、残りの処理を小さなデータセットに対して実行できるため、特に効果的です。
データのサブセットを選択
このフィルタータイプでは、指定した条件に基づいて、受信するソースデータをフィルター処理できます。
結果データにセカンダリフィルターを適用
このフィルタータイプでは、変換後の結果データに対して、指定した条件に基づくフィルターを適用できます。 変換後の結果にフィルターを適用できるため、複雑な計算、集計、ウィンドウ関数の結果に基づいて行を除外できます。
最終データテーブルのスライス(制限)
行のスライス機能では、範囲と開始位置に基づいて、結果セットの行数を制限できます。
フィルター構文
フィルター構文には Python SQLAlchemy を使用します。これは他の式と同じ構文です。
式の例と式関数については、式のセクションを参照してください。
配賦する値のテーブル

ドライバーデータテーブル

割り当てディメンションの階層

Target RCディメンションが現在に設定されているため、ドライバーデータは、配賦する値のテーブルのSource RCの値でフィルターされます。 Source RCの唯一の値は 「A」 であるため、配賦ステップでは、RC = Aのドライバー値のレコードのみが使用されます。
配賦結果テーブル

配賦する値のテーブル

ドライバーデータテーブル

割り当てディメンションの階層

Target RCディメンションがすべてに設定されているため、配賦結果テーブルのRC列に見られるように、ドライバーデータにはすべてのRCの値が含まれます。
配賦結果テーブル

配賦する値のテーブル

ドライバーデータテーブル

割り当てディメンションの階層

Context RCがすべてに設定され、Target RCがソースに設定されているため、ドライバーデータには、ドライバーデータ内のすべてのRCが含まれます。Contect RCが、Target RCの設定を上書きします。
配賦結果テーブル

配賦する値のテーブル

ドライバーデータテーブル

割り当てディメンションの階層

Context RCがすべてに設定されているため、ドライバーデータには、ドライバーデータ内のすべてのRCが含まれます。
配賦結果テーブル
