コンテンツにスキップ

ディメンション階層を設計する

約30分 · ディメンション、代替階層、下流での活用

ディメンションは、PlaidCloudのあらゆる機能の土台となる階層です。配賦はディメンションを対象にし、ダッシュボードはディメンションでスライスし、レポートはディメンションをたどって集計します。それにもかかわらず、多くのガイドはディメンションを参照するだけで、作り方を教えてくれません。このチュートリアルはその隙間を埋めます。コストセンターのディメンションを作成し、2つ目の集計方法を追加し、テーブルから値を読み込み、下流の利用側に引き渡します。

部門ごとにコストセンターをグループ化するメイン階層と、同じコストセンターを地域ごとにグループ化し直す代替階層を持つ、コストセンターのディメンションです。続いてソーステーブルから読み込み、配賦の対象に指定します。

CompanySalesOperationsCC-100CC-200CC-300CC-400EastWestメインBy Region
メイン階層は部門ごとにコストセンターをグループ化します。代替階層は、同じ4つのリーフを地域ごとに集計し直します。リーフは同じで、親が異なります。
  • PlaidCloudワークスペース(お持ちでない場合は無料トライアルを開始してください)
  • 作業用のプロジェクト(必要に応じてプロジェクトタブから作成してください)
  • 概念(ワークスペース、プロジェクト、ワークフロー、ディメンション)に関する知識
  • 必要に応じて、ステップ4の読み込みに使う、コストセンターの構造を持つソーステーブル(ツリーを手作業で作成することもできます)

初めての場合は、先にディメンションの基本をお読みください。 ディメンションをいつ使うべきか、メイン階層と代替階層がどう関係するかを説明しています。このチュートリアルは、その用語を前提にしています。

ステップ1:ディメンションを作成する

Section titled “ステップ1:ディメンションを作成する”

ディメンションは、各プロジェクトのディメンションタブにあります。

  1. プロジェクトを開き、ディメンションタブに切り替えます。
  2. ツールバーの新規ボタンから、新規ディメンションを選択します。
  3. 名前(例:Cost Centers)、フォルダー形式で整理するためのディレクトリ、わかりやすいメモを入力します。
  4. 作成をクリックします。ディメンションはすぐに使えるようになります。

これで空のディメンションができました。メイン階層はありますが、まだ何も入っていません。次のステップで、構造を与えます。

ステップ2:メイン階層を構築する

Section titled “ステップ2:メイン階層を構築する”

すべてのディメンションには、1つのメイン階層があります。すべてのリーフメンバーが1回だけ登録される、正準で唯一の信頼できるツリーです。ここで部門の構造を構築します。

  1. ディメンションを開いた状態で、ルートを選択し、階層ツールバーのメンバーを追加をクリックして、最上位の親(Sales と Operations)を作成します。

  2. 部門を選択し、もう一度メンバーを追加を使って、その部門に集計されるリーフのコストセンターを追加します。

    親 リーフメンバー
    Sales CC-100, CC-200
    Operations CC-300, CC-400
  3. 階層ツールバーでは、メンバーを上下に移動したり、親を付け替えたりすることもできるため、配置を誤ったメンバーを修正できます。

すべてのリーフは、メイン階層に存在する必要があります。 ディメンション内のあらゆるものは、まずメインツリーのメンバーです。未決定なのは、それがどこにあるかだけです。代替階層(次のステップ)はこれらのリーフを再利用し、新しいリーフを追加することはありません。

大きなツリーでは、メンバーを手作業で並べるのは面倒です。Dimension Sortステップは、プログラムで並べ替えます。読み込み後や大規模な再構成の後に、作業時間を大きく節約できます。

ステップ3:代替階層を追加する

Section titled “ステップ3:代替階層を追加する”

代替階層は、同じリーフを別の観点で見るものです。サブセットを選んだり、異なるグループ化をしたり、まったく別の集計方法を使ったりできます。ここでは、4つのコストセンターを、部門ではなく地域でグループ化し直します。

  1. ディメンションに新しい代替階層を追加し、By Region という名前を付けます。

  2. 新しい階層で、メンバーを追加を使って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つの完全なパス 深さが予測できる規則的な階層
  1. ワークフロータブに切り替え、ワークフロー(例:Load Cost Centers)を作成します。
  2. Dimension Loadステップを追加します。
  3. ソーステーブルを指定し、Parent-ChildまたはLevelsを選択して、構造を表す列をマッピングします。
  4. 読み込みで扱えるのは構造だけではありません。値、エイリアス、プロパティも、同じステップで一緒に読み込めます。ソースにそれらがある場合は、その列もマッピングします。
  5. ステップを実行し、ディメンションタブを開き直して、ツリーがソースと一致していることを確認します。

読み込みは構造を作成しますが、ディメンションをリセットはしません。 再読み込みの前にディメンションを空の状態に戻す(構造、値、エイリアス、プロパティ、代替階層をすべて消去する)には、先にDimension Clearを使います。階層をフラットなテーブルにエクスポートしてレポートに使う方法を含む往復の流れについては、ディメンションの読み込みとアンロードをご覧ください。

ステップ5:ノードを充実させる(任意)

Section titled “ステップ5:ノードを充実させる(任意)”

階層は、名前のツリーにとどまりません。各ノードに、プロパティ(コストセンターの通貨、所属する事業部門など)、エイリアス、値を持たせられます。階層ツールバーでプロパティを切り替えると、プロパティごとに列が表示されます。追加するには新規プロパティを使います。

階層内で値を直接計算することもできます。集計は、テーブルから合計、件数、最小、最大の値を各ノードに取り込みます。式は、それらの集計をもとに、算術演算子、条件、Column(...)、Leafcount()、Parentvalue(...) などの関数を使って計算します。全体像については、式と集計のためのディメンション関数をご覧ください。

その成果として、ツリーを一度定義すれば、あらゆる場所から参照できます。このディメンションは、PlaidCloudの他の機能の対象になります。

  • 配賦はディメンションを対象にして、コストプールをリーフに分配します。次のステップとして最適です。
  • レポートとダッシュボードは、階層をスライスしてドリルスルーします。同じリーフから、メインのツリーで1つの集計を、By Region で別の集計を行えます。
  • データエディター内、または別のディメンションの選択(ディメンション)プロパティ内のディメンションにマッピングされた列では、メンバーピッカーを使って、ユーザーがこのツリーからメンバーを選べます。

配賦に利用するには、ディメンション内のリーフメンバー名を、ドライバーやソースデータのキーと完全に一致させてください。スペースや大文字小文字が異なると、そのリーフには何も配賦されません。この約束事こそ、次の配賦チュートリアルが前提にしているものです。