ディメンション階層を設計する
約30分 · ディメンション、代替階層、下流での活用
ディメンションは、PlaidCloudのあらゆる機能の土台となる階層です。配賦はディメンションを対象にし、ダッシュボードはディメンションでスライスし、レポートはディメンションをたどって集計します。それにもかかわらず、多くのガイドはディメンションを参照するだけで、作り方を教えてくれません。このチュートリアルはその隙間を埋めます。コストセンターのディメンションを作成し、2つ目の集計方法を追加し、テーブルから値を読み込み、下流の利用側に引き渡します。
作成するもの
Section titled “作成するもの”部門ごとにコストセンターをグループ化するメイン階層と、同じコストセンターを地域ごとにグループ化し直す代替階層を持つ、コストセンターのディメンションです。続いてソーステーブルから読み込み、配賦の対象に指定します。
- PlaidCloudワークスペース(お持ちでない場合は無料トライアルを開始してください)
- 作業用のプロジェクト(必要に応じてプロジェクトタブから作成してください)
- 概念(ワークスペース、プロジェクト、ワークフロー、ディメンション)に関する知識
- 必要に応じて、ステップ4の読み込みに使う、コストセンターの構造を持つソーステーブル(ツリーを手作業で作成することもできます)
初めての場合は、先にディメンションの基本をお読みください。 ディメンションをいつ使うべきか、メイン階層と代替階層がどう関係するかを説明しています。このチュートリアルは、その用語を前提にしています。
ステップ1:ディメンションを作成する
Section titled “ステップ1:ディメンションを作成する”ディメンションは、各プロジェクトのディメンションタブにあります。
- プロジェクトを開き、ディメンションタブに切り替えます。
- ツールバーの新規ボタンから、新規ディメンションを選択します。
- 名前(例:
Cost Centers)、フォルダー形式で整理するためのディレクトリ、わかりやすいメモを入力します。 - 作成をクリックします。ディメンションはすぐに使えるようになります。
これで空のディメンションができました。メイン階層はありますが、まだ何も入っていません。次のステップで、構造を与えます。
ステップ2:メイン階層を構築する
Section titled “ステップ2:メイン階層を構築する”すべてのディメンションには、1つのメイン階層があります。すべてのリーフメンバーが1回だけ登録される、正準で唯一の信頼できるツリーです。ここで部門の構造を構築します。
-
ディメンションを開いた状態で、ルートを選択し、階層ツールバーのメンバーを追加をクリックして、最上位の親(
SalesとOperations)を作成します。 -
部門を選択し、もう一度メンバーを追加を使って、その部門に集計されるリーフのコストセンターを追加します。
親 リーフメンバー Sales CC-100, CC-200 Operations CC-300, CC-400 -
階層ツールバーでは、メンバーを上下に移動したり、親を付け替えたりすることもできるため、配置を誤ったメンバーを修正できます。
すべてのリーフは、メイン階層に存在する必要があります。 ディメンション内のあらゆるものは、まずメインツリーのメンバーです。未決定なのは、それがどこにあるかだけです。代替階層(次のステップ)はこれらのリーフを再利用し、新しいリーフを追加することはありません。
大きなツリーでは、メンバーを手作業で並べるのは面倒です。Dimension Sortステップは、プログラムで並べ替えます。読み込み後や大規模な再構成の後に、作業時間を大きく節約できます。
ステップ3:代替階層を追加する
Section titled “ステップ3:代替階層を追加する”代替階層は、同じリーフを別の観点で見るものです。サブセットを選んだり、異なるグループ化をしたり、まったく別の集計方法を使ったりできます。ここでは、4つのコストセンターを、部門ではなく地域でグループ化し直します。
-
ディメンションに新しい代替階層を追加し、
By Regionという名前を付けます。 -
新しい階層で、メンバーを追加を使って2つの親(
EastとWest)を作成し、既存のリーフをその下に追加します。地域の親 リーフメンバー East CC-100, CC-300 West CC-200, CC-400
リーフは、メイン階層の同じメンバーです。複製ではなく、このビュー用に親を付け替えています。メイン階層のメンバーには、どの代替階層にも属しているかを示す属性ラベルが付くため、CC-100がSalesのセンターであると同時にEastのセンターでもあることが、ひと目でわかります。
代替階層の一般的なパターンは2つあります。 サブセットビューは、1つのレポートや配賦のために、焦点を絞ったリーフの集合をツリーにまとめるもので、メインでのメンバーの変更を引き継ぎます。異なる集計は、ここでの
By Regionのように、すべてのリーフを保ったままグループ化し直します。どちらについても、ディメンション(階層)の使用をご覧ください。
ステップ4:テーブルから読み込む
Section titled “ステップ4:テーブルから読み込む”チュートリアルなら、手作業で数ノードを作るのでも構いません。実際には、ワークフローを使ってソーステーブルからディメンションを生成し、ソースの変更に合わせて更新されるようにします。PlaidCloudは、2つのデータ形状を読み取ります。
| 形式 | 形状 | 適した用途 |
|---|---|---|
| Parent-Child | 2つの列(親と子)で、1行が1つのエッジ | 深さが任意で、不規則な階層 |
| Levels | 1レベルにつき1列で、1行が1つの完全なパス | 深さが予測できる規則的な階層 |
- ワークフロータブに切り替え、ワークフロー(例:
Load Cost Centers)を作成します。 - Dimension Loadステップを追加します。
- ソーステーブルを指定し、Parent-ChildまたはLevelsを選択して、構造を表す列をマッピングします。
- 読み込みで扱えるのは構造だけではありません。値、エイリアス、プロパティも、同じステップで一緒に読み込めます。ソースにそれらがある場合は、その列もマッピングします。
- ステップを実行し、ディメンションタブを開き直して、ツリーがソースと一致していることを確認します。
読み込みは構造を作成しますが、ディメンションをリセットはしません。 再読み込みの前にディメンションを空の状態に戻す(構造、値、エイリアス、プロパティ、代替階層をすべて消去する)には、先にDimension Clearを使います。階層をフラットなテーブルにエクスポートしてレポートに使う方法を含む往復の流れについては、ディメンションの読み込みとアンロードをご覧ください。
ステップ5:ノードを充実させる(任意)
Section titled “ステップ5:ノードを充実させる(任意)”階層は、名前のツリーにとどまりません。各ノードに、プロパティ(コストセンターの通貨、所属する事業部門など)、エイリアス、値を持たせられます。階層ツールバーでプロパティを切り替えると、プロパティごとに列が表示されます。追加するには新規プロパティを使います。
階層内で値を直接計算することもできます。集計は、テーブルから合計、件数、最小、最大の値を各ノードに取り込みます。式は、それらの集計をもとに、算術演算子、条件、Column(...)、Leafcount()、Parentvalue(...) などの関数を使って計算します。全体像については、式と集計のためのディメンション関数をご覧ください。
ステップ6:下流で活用する
Section titled “ステップ6:下流で活用する”その成果として、ツリーを一度定義すれば、あらゆる場所から参照できます。このディメンションは、PlaidCloudの他の機能の対象になります。
- 配賦はディメンションを対象にして、コストプールをリーフに分配します。次のステップとして最適です。
- レポートとダッシュボードは、階層をスライスしてドリルスルーします。同じリーフから、メインのツリーで1つの集計を、
By Regionで別の集計を行えます。 - データエディター内、または別のディメンションの選択(ディメンション)プロパティ内のディメンションにマッピングされた列では、メンバーピッカーを使って、ユーザーがこのツリーからメンバーを選べます。
配賦に利用するには、ディメンション内のリーフメンバー名を、ドライバーやソースデータのキーと完全に一致させてください。スペースや大文字小文字が異なると、そのリーフには何も配賦されません。この約束事こそ、次の配賦チュートリアルが前提にしているものです。
次のステップ
Section titled “次のステップ”- 配賦モデルを構築する — 作成したディメンションにコストプールを分配します(次のステップとして最適です)
- ディメンションの基本 — ディメンションを使うべき場面と、各要素の関係
- ディメンション(階層)の使用 — 管理の詳細なリファレンス:プロパティ、継承、コピー、並べ替え
- ディメンションの読み込みとアンロード — 構造の取り込みと、フラットなテーブルへの書き出し
- 式と集計のためのディメンション関数 — 階層内の計算値