コンテンツにスキップ

カスタム関数でレポートを作成する

PlaidXLのレポートは通常のExcelのグリッドです。一方のディメンションのノードを縦に、もう一方のディメンションのノードを上端に横に並べ、各交点にPlaidCloudのテーブルからメジャーを集計するPLAIDXL.CELL数式を配置します。数値が数式であるため、レポートを毎月作り直さなくても、最新のデータに合わせて再計算されます。

PLAIDXL.DRILLによる行リージョンFY2025FY2026合計EMEAAPACAmericas=CELL(…)PLAIDXL.CELLが組み合わせるものTABLE_REPR(“Sales”)MEASURE(“revenue”)MEASURE_TYPE(“sum”)DIMENSION_REPR(“Region”, row)DIMENSION_REPR(“Period”, column)→ FY2026のEMEAの収益
各セルは、行のノードと列のノードを受け取り、その両方に対してメジャーを集計します。
  • サインインして、データを保持するプロジェクトを選択します。
  • レポートの対象となる数値列(revenueなど)を含むテーブルと、レポートに使用するディメンションごとの列(RegionやPeriodなど)が必要です。これらの列は、PlaidCloud内のディメンションにリンクされている必要があります。CELLは列名でフィルターし、リンクされた列でのみディメンションを通じてノードを集計します。値を参照してください。
  • 正確な名前がわからない場合は、作業用のシートで=PLAIDXL.TABLE.TBL_LIST()、=PLAIDXL.TABLE.GET_COLUMNS("Sales")、=PLAIDXL.DIMENSION.DIM_LIST()を使うと一覧表示できます。

以下の手順では、メジャー列revenueとディメンション列Region(行)およびPeriod(列)を持つSalesという名前のテーブルを使用します。これらの列は同じ名前のディメンションにリンクされています。名前はご自身のものに置き換えてください。DRILLではディメンションの名前を、DIMENSION_REPRではテーブルの列名を使用します。

  1. 測定する対象を記述します。 シートの上部にある3つのセルに、次のように入力します。

    B1 =PLAIDXL.REPR.TABLE_REPR("Sales")
    B2 =PLAIDXL.REPR.MEASURE("revenue")
    B3 =PLAIDXL.REPR.MEASURE_TYPE("sum")

    レポート内のすべての値がこれらのセルを参照するため、たとえば"sum"を"mean"に変更するなど、1つ変更するだけでレポート全体が変わります。

  2. 行をレイアウトします。 A6で、行ディメンションを最上位のノードからドリルします。

    A6 =PLAIDXL.DRILL("Region", "Total", PLAIDXL.REPR.DRILL_KEY("1 level"))

    合計とその子ノードがA列に展開され、親の下にインデントされ、折りたたみできるようにグループ化されます。すべてのレベルを表示するには"all"を、最下位のレベルのみを表示するには"leaves"を使用します。行のノードを自分で入力する場合は、各セルにノード名を1つずつ入力します。

  3. 列をレイアウトします。 5行目のB5から右方向に、列のノードを入力します。たとえばFY2025とFY2026です。

  4. 最初の値を入力します。 B6に次を入力します。

    =PLAIDXL.CELL($B$1, $B$2, $B$3, PLAIDXL.REPR.DIMENSION_REPR("Region", $A6), PLAIDXL.REPR.DIMENSION_REPR("Period", B$5))

    $記号により、テーブル、メジャー、タイプは固定され、行のノードはA列、列のノードは5行目に固定されます。DRILLがノード名に追加するインデントは無視されます。

  5. グリッドを埋めます。 B6を最後の期間まで右に、最後の行まで下にコピーします。各セルには、その行のリージョンについて、その列の期間の収益が表示されます。

レポート全体に適用されるフィルター(たとえば1つの製品ラインなど)を追加するには、上部のセルに別のDIMENSION_REPR(B4 =PLAIDXL.REPR.DIMENSION_REPR("Product", "Hardware")など)を追加し、すべてのCELLに$B$4を渡します。

行ごとに複数のメジャーを表示するには、PLAIDXL.CELLSとPLAIDXL.REPR.MEASURESを使用します。

  • 完全な再計算を強制すると、現在の値がすべてのPlaidXL数式に取り込まれます。WindowsではCtrl+Alt+F9を押します。通常の再計算では、数式の引数が変更されない限り、再取得は行われません。
  • スコープを変更するには、構成要素のセルを編集します。別のテーブル、メジャー、集計、または別の最上位フィルターノードを指定できます。そのセルを使用している数式はすぐに更新されます。
  • 別のプロジェクトのレポートを作成するには、タスクペインでそのプロジェクトを選択してから、完全な再計算を強制します。数式は選択中のプロジェクトから読み取るため、テーブル名、列名、ディメンション名が共通するプロジェクトであれば、同じブックでそれぞれのレポートを作成できます。

PlaidXLを持っていない人や、プロジェクトにアクセスできない人には、PlaidXLの数式の代わりにエラーが表示されます。数値を送るには、先に数式を値に置き換えます。

  1. レポートを保存し、送信用に別の名前でコピーを保存します。
  2. コピーで、PlaidCloud → Sanitize Workbookをクリックします。
  3. コピーを送信します。

Sanitize Workbookは、ブック内のすべての数式を現在の値に置き換えます。Restore Workbookは数式を元に戻しますが、DRILLのように結果が展開される数式は正しく復元されず、サニタイズ後に変更した内容は上書きされます。元のファイルは必ず保管してください。ライブのレポートを確実に取り戻す方法はそれだけです。サニタイズと復元を参照してください。