要求彙總的小計資料
「總計和小計 API」讓帶有矩陣資料檢視的自訂視覺效果可向 Power BI 主機要求彙總的小計資料。 小計可為整個矩陣語意模型計算,或為矩陣資料階層的個別層級指定。 如需 Power BI 視覺效果中總計和小計 API 的範例,請參閱範例報表。
注意
版本 2.6.0 和更新版本支援要求小計資料。 rowSubtotalType
屬性可於版本 5.1.0 和更新版本中使用。 若要了解您正在使用哪個版本,請檢查 pbiviz.json 檔案中的 apiVersion
。
每次視覺效果重新整理其資料時,視覺效果就會向 Power BI 後端發出資料擷取要求。 這些資料要求通常是針對使用者拖曳至視覺效果欄位井的欄位值。 有時,視覺效果需要套用至欄位井的其他彙總或小計 (例如加總或計數)。 總計和小計 API 可讓您自訂傳出的資料查詢,以要求更多彙總或小計資料。
小計 API
API 為每種資料檢視類型提供以下自訂 (目前僅適用於矩陣資料檢視)。
rowSubtotals
:(布林值) 指出是否應該針對資料列欄位井中的所有欄位要求小計資料。rowSubtotalsPerLevel
:(布林值) 指出資料列欄位中個別欄位井的小計資料是否可以切換。columnSubtotals
:(布林值) 指出是否應該針對資料行欄位井中的所有欄位要求小計資料。columnSubtotalsPerLevel
:(布林值) 指出資料行欄位井中個別欄位的小計資料是否可以切換。levelSubtotalEnabled
:(布林值) 指出是為資料列或資料行要求小計資料。 不同於所有其他屬性,這個屬性會套用至個別資料列或資料行。rowSubtotalsType
:(「頂端」或「底端」) 指出具有總計資料的資料列應該在之前 (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",
}
若要檢閱可用的自訂,請展開 [格式] 屬性窗格中的 [小計] 下拉式功能表。 修改小計設定,並在 [視覺效果] 窗格中追蹤小計表示的變更 (名為「總計」)。
考量與限制
rowSubtotalsType
屬性僅適用於資料列。 無法將資料行小計設定為資料行的開頭。展開和摺疊功能會覆寫
rowSubtotals
。 當資料列展開時,即使rowSubtotals
設定為 false,小計仍會顯示。