次の方法で共有


集計された小計データを要求する

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

手記

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

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

小計の行と列が強調表示されているビジュアルのスクリーンショット。

小計 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という名前) への変更を追跡します。

列と行の小計フィールドウェルを示す Power BI ビジュアライゼーション ペインのスクリーンショット。

考慮事項と制限事項

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

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

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