共用方式為


要求匯總小計數據

Total 和 Subtotal API 允許具有矩陣資料檢視的自訂視覺效果向 Power BI 主機請求彙總的小計資料。 小計可以針對整個矩陣語意模型來計算,或針對矩陣數據階層中的個別層級來指定。 欲了解有關 Power BI 視覺化中總計和小計 API 的範例,請參閱 範例報告

注意

自版本 2.6.0 及更高版本開始支持請求小計數據。 rowSubtotalType 屬性可在5.1.0版和更新版本中取得。 若要找出您使用的版本,請檢查 pbiviz.json 檔案中的 apiVersion

每當視覺對象重新整理其資料時,視覺對象都會向 Power BI 後端發出 資料提取請求,。 這些資料請求通常是針對使用者拖入視覺效果欄位槽中的欄位值。 有時圖表需要將其他匯總或小計應用於欄位區域(例如總和或計數)。 Total 和 Subtotal API 可讓您自定義傳出數據查詢,以要求更多匯總或小計數據。

對於包含醒目提示的小計列和欄的視覺圖像螢幕截圖。

小計 API

API 會為每個數據檢視類型提供下列自訂功能(目前僅支持矩陣數據檢視)。

  • rowSubtotals:( 布爾值) 指出是否應該針對數據列欄位中的所有欄位要求小計數據。
  • rowSubtotalsPerLevel:(布爾值)指出小計數據是否可以在資料列的欄位區中針對個別欄位進行切換。
  • columnSubtotals: (boolean) 指出資料行欄位中的所有欄位是否應要求 小計 資料。
  • 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。 當數據列展開時,小計會顯示,即使 rowSubtotals 設定為 false也一樣。

利用 Power BI 視覺效果的選取功能新增互動性至視覺效果