Begära aggregerade delsummor
API:et total och delsumma tillåter anpassade visuella objekt med en matrisdatavy för att begära aggregerade delsummor från Power BI-värden. Delsummorna beräknas för hela matrisens semantiska modell eller anges för enskilda nivåer i matrisdatahierarkin. Se exempelrapport för ett exempel på API:et Total och Delsumma i ett visuellt Power BI-objekt.
Notis
Begäran om delsummor stöds i version 2.6.0 och senare. Egenskapen rowSubtotalType
är tillgänglig i version 5.1.0 och senare. Om du vill ta reda på vilken version du använder kontrollerar du apiVersion
i filen pbiviz.json.
Varje gång ett visuellt objekt uppdaterar sina data utfärdar det visuella objektet en datahämtningsbegäran till Power BI-serverdelen. Dessa databegäranden är vanligtvis för värden för de fält som användaren drog in i fältområdena i visualiseringen. Ibland behöver det visuella objektet andra aggregeringar eller delsummor (till exempel summa eller antal) som tillämpas på fältbrunnarna. Med API:et Total och Delsumma kan du anpassa den utgående datafrågan för att begära mer aggregerings- eller delsummadata.
API:et för delsummor
API:et erbjuder följande anpassning för varje datavytyp (för närvarande endast matrisdatavyer).
-
rowSubtotals
: (boolean) Anger om delsummedata ska begäras för alla fält i fältdelen för rader. -
rowSubtotalsPerLevel
: (booleskt) Anger om delsummadata kan växlas för enskilda fält i radens fältbrunn. -
columnSubtotals
: (boolesk) Anger om huruvida delsumma data ska begäras för alla fält i kolumnfältet. -
columnSubtotalsPerLevel
: (boolean) Anger huruvida delsumma-data kan växlas för enskilda fält i kolumnfältet. -
levelSubtotalEnabled
: (booleskt) Anger om delsummorna begärs för raden eller kolumnen. Till skillnad från alla andra egenskaper tillämpas den här egenskapen på enskilda rader eller kolumner. -
rowSubtotalsType
: ("Top" eller "Bottom") Anger om raden med totala data ska hämtas före (top
) eller efter (bottom
) resten av data. Om den här egenskapen är inställd påbottom
kan summan bara visas när alla data har hämtats. Standardvärdet ärbottom
.
Var och en av dessa växlar tilldelas ett värde baserat på de relaterade egenskaperna i egenskapsfönstret och standardvärdena.
Så här använder du delsumma-API:et
Det visuella objektets capabilities.json-fil måste:
- ange vilken egenskap som varje omkopplare kopplas till.
- ange det standardvärde som ska användas om egenskapen är odefinierad.
Växlarna använder ett format som liknar följande exempel:
"rowSubtotals": {
"propertyIdentifier": {
"objectName": "subTotals",
"propertyName": "rowSubtotals"
},
"defaultValue": true
},
Föregående kod anger att radundersummorna aktiveras av egenskapen rowSubtotals
i objektet subTotals
. Egenskapen har standardvärdet true
.
API:et aktiveras automatiskt för ett visuellt objekt när delsummornas struktur och alla switchmappningar definieras i capabilities.json-filen.
Följande kod är ett exempel på den fullständiga API-konfigurationen i den capabilities.json filen (kopieras från det visuella API-exempelobjektet):
"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"
}
}
}
Det är viktigt att enumerateProperties()
-funktionen för det visuella överensstämmer med standardvärdena som anges i capabilities.json-filen. Anpassningslogik fungerar enligt de angivna standardvärdena. Om funktionen enumerateProperties()
och standardvärdena inte är justerade kan de faktiska anpassningarna av delsummor skilja sig från användarens förväntningar.
enum RowSubtotalType {
Top = "Top",
Bottom = "Bottom",
}
Om du vill granska de tillgängliga anpassningarna expanderar du listrutan delsummor i egenskapsfönstret Format. Ändra delsummornas inställningar och spåra ändringarna i delsummornas presentation (med namnet Summor) i fönstret Visualiseringar.
Överväganden och begränsningar
Egenskapen
rowSubtotalsType
är endast tillgänglig för rader. Du kan inte ange kolumnundersummor till början av en kolumn.Funktionen expandera och komprimera åsidosätter
rowSubtotals
. Delsummor visas när raderna expanderas, även omrowSubtotals
är inställt på false.
Relaterat innehåll
Lägg till interaktivitet i visuella objekt med hjälp av val av visuella Power BI-objekt