集計された小計データの要求

集計および小計 API を使用すると、マトリックス データビューでカスタム ビジュアルを使用して、集計された小計データを Power BI ホストに要求できます。 小計はマトリックス セマンティック モデル全体に対して算出されます。またはマトリックス データ階層の個々のレベルに対して指定します。 Power BI ビジュアルの集計 API と小計 API の例については、サンプル レポートを参照してください。

注意

小計データの要求は、バージョン 2.6.0 以降でサポートされています。 rowSubtotalType プロパティは、バージョン 5.1.0 以降で使用できます。 使用しているバージョンを確認するには、pbiviz.json ファイルの apiVersion を調べてください。

ビジュアルがデータを更新するたびに、ビジュアルによってデータ フェッチ要求が Power BI バックエンドに発行されます。 これらのデータ要求は、通常、ユーザーがビジュアルのフィールド ウェルにドラッグしたフィールドの値に対して行われます。 場合によっては、これらのフィールド ウェルに適用される他の集計や小計 (sum、count など) が、ビジュアルに必要になることもあります。 集計や小計 API を使うと、送信データのクエリをカスタマイズして、より多くの集計/小計データを要求できます。

Screenshot of visual with subtotals row and columns highlighted.

小計 API

この API では、データビューの種類ごとに次のカスタマイズが用意されています (現在はマトリックス データビューのみ)。

  • rowSubtotals: (ブール値) 行のフィールド ウェルのすべてのフィールドに対して小計データを要求するかどうかを示します。
  • rowSubtotalsPerLevel: (ブール値) 行のフィールド ウェル内の個々のフィールドで小計データを切り替えることができるかどうかを示します。
  • columnSubtotals: (ブール値) 列のフィールド ウェルのすべてのフィールドに対してデータの "小計" を要求するかどうかを示します。
  • columnSubtotalsPerLevel: (ブール値) 列のフィールド ウェル内の個々のフィールドで "小計" データを切り替えることができるかどうかを示します。
  • levelSubtotalEnabled: (ブール値) 行または列に対して小計が要求されるかどうかを示します。 他のすべてのプロパティとは異なり、このプロパティは個々の行または列に適用されます。
  • rowSubtotalsType: ("Top" または "Bottom") "合計" データを持つ行を、残りのデータの前 (top) か後 (bottom) に取得する必要があるかどうかを示します。 このプロパティを bottom に設定すると、すべてのデータがフェッチされた後にのみ、合計を表示できます。 既定では、 bottomです。

上の一覧の各スイッチには、プロパティ ペインの関連プロパティと既定値に基づいて値が割り当てられます。

小計 API の使用方法

この視覚エフェクトの capabilities.json ファイルでは、次のことを行う必要があります。

  • 上記の各スイッチのマップ先のプロパティを指定します。
  • プロパティが定義されていない場合に使用する既定値を指定します。

スイッチでは、次の例のような形式が使用されます。

    "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            },

上記のコードは、subTotals オブジェクトのプロパティ rowSubtotals によって行の小計が有効になっていることを示しています。 プロパティの既定値は true です。

小計の構造とすべてのスイッチ マッピングが capabilities.json ファイルに定義されている場合は常に、API がビジュアルに対して自動的に有効になります。

次に示すコードは、capabilities.json ファイルの完全な API 構成の例です (API サンプル ビジュアルからコピーしたもの)。

"subtotals": { 
        "matrix": { 
            "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "rowSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perRowLevel" 
                }, 
                "defaultValue": false 
            }, 
            "columnSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "columnSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "columnSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perColumnLevel" 
                }, 
                "defaultValue": false 
            }, 
            "levelSubtotalEnabled": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "levelSubtotalEnabled" 
                }, 
                "defaultValue": true 
            },
            "rowSubtotalsType": {
                "propertyIdentifier": {
                    "objectName": "subtotals",
                    "propertyName": "rowSubtotalsType"
                },
                "defaultValue": "Bottom"
            }
        } 
    }

ビジュアルの enumerateProperties() 関数は、capabilities.json で指定された既定値と合致していることが重要です。 カスタマイズ ロジックは指定された既定値に従って動作します。 enumerateProperties() 関数と既定値が合致していない場合、実際の小計のカスタマイズはユーザーの期待とは異なる場合があります。

enum RowSubtotalType {
        Top = "Top",
        Bottom = "Bottom",
   }

使用可能なカスタマイズを確認するには、[書式] プロパティ ペインの [小計] ドロップダウン メニューを展開します。 [視覚化] ウィンドウで小計の設定を変更し、小計プレゼンテーション (Totals という名前) への変更を追跡します。

Screenshot of the Power BI Visualizations pane, which shows the Column and Row subtotals field wells.

考慮事項と制限事項

  • rowSubtotalsType プロパティは行に対してのみ使用できます。 列の小計を列の先頭に設定することはできません。

  • 展開/折りたたみ機能は rowSubtotals をオーバーライドします。 rowSubtotalsfalse に設定しても、行を展開したときに小計が表示されます。

Power BI ビジュアルの選択を使用してビジュアルに対話機能を追加する