Del via


Be om aggregerte delsumdata

API-en total og delsum tillater egendefinerte visualobjekter med en matrisedatavisning å be om aggregerte delsumdata fra Power BI-verten. Delsummene beregnes for hele matrise-semantiske modellen eller angis for individuelle nivåer i matrisedatahierarkiet. Se eksempelrapport for eksempel total- og delsum-API-en i et Power BI-visualobjekt.

Notat

Forespørsel om delsumdata støttes i versjon 2.6.0 og nyere. Egenskapen rowSubtotalType er tilgjengelig i versjon 5.1.0 og nyere. Hvis du vil finne ut hvilken versjon du bruker, kan du se apiVersion i pbiviz.json-filen.

Hver gang et visualobjekt oppdaterer dataene, utsteder visualobjektet en forespørsel om datahenting til Power BI-serverdel. Disse dataforespørslene er vanligvis for verdier for feltene som brukeren dro inn i feltbrønnene i visualobjektet. Noen ganger trenger visualobjektet andre aggregasjoner eller delsummer (for eksempel sum eller antall) brukt på feltbrønnene. Med API-en total og delsum kan du tilpasse den utgående dataspørringen for å be om mer aggregasjon eller delsumdata.

Skjermbilde av visualobjektet med rad- og kolonner for delsummer uthevet.

API-en for delsummer

API-en tilbyr følgende tilpasning for hver datavisningstype (for øyeblikket bare matrisedatavisninger).

  • rowSubtotals: (boolsk) Angir om delsumdataene skal bes om alle feltene i radfeltbrønnen.
  • rowSubtotalsPerLevel: (boolsk) Angir om delsumdataene kan veksles for enkeltfelt i feltbrønnen for raden.
  • columnSubtotals: (boolsk) Angir om delsum data skal bes om for alle feltene i kolonnefeltbrønnen.
  • columnSubtotalsPerLevel: (boolsk) Angir om delsum data kan veksles for enkeltfelt i kolonnefeltbrønnen.
  • levelSubtotalEnabled: (boolsk) Angir om delsummene er forespurt for raden eller kolonnen. I motsetning til alle de andre egenskapene brukes denne egenskapen på individuelle rader eller kolonner.
  • rowSubtotalsType: ("Øverst" eller "Nederst") Angir om raden med den totale data skal hentes før (top) eller etter (bottom) resten av dataene. Hvis denne egenskapen er satt til bottom, kan totalen bare vises etter at alle dataene er hentet. Standardverdien er bottom.

Hver av disse bryterne tilordnes en verdi basert på de relaterte egenskapene i egenskapsruten og standardinnstillingene.

Slik bruker du API-en for delsum

Visualobjektets capabilities.json fil må:

  • angi egenskapen som hver bytte tilordnes til.
  • angi standardverdien som skal brukes hvis egenskapen ikke er definert.

Bryterne bruker et format som følgende eksempel:

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

Den forrige koden angir at raddelsummene aktiveres av egenskapen rowSubtotals i objektet subTotals. Egenskapen har standardverdien true.

API-en aktiveres automatisk for et visualobjekt når delsummene og alle brytertilordninger er definert i capabilities.json-filen.

Følgende kode er et eksempel på den fullstendige API-konfigurasjonen i capabilities.json-filen (kopiert fra eksempelvisualobjektet for 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"
            }
        } 
    }

Det er viktig at enumerateProperties()-funksjonen i visualobjektet justeres med standardinnstillingene som er angitt i capabilities.json-filen. Tilpassingslogikken fungerer i henhold til de angitte standardene. Hvis enumerateProperties()-funksjonen og standardverdiene ikke er justert, kan de faktiske tilpassingene av delsum avvike fra brukerens forventninger.

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

Hvis du vil se gjennom de tilgjengelige tilpasningene, utvider du rullegardinmenyen delsummer i egenskapsruten Formater. Endre innstillingene for delsummer og spor endringene i delsummer-presentasjonen (kalt Totaler) i Visualiseringer-ruten.

Skjermbilde av Power BI-visualiseringer-ruten, som viser feltbrønnene kolonne- og raddelsummer.

Hensyn og begrensninger

  • Egenskapen rowSubtotalsType er bare tilgjengelig for rader. Du kan ikke angi kolonnedelsummer til begynnelsen av en kolonne.

  • Funksjonen utvide og skjule overstyrer rowSubtotals. Delsummer vises når radene utvides, selv om rowSubtotals er satt til å usann.

Legg til interaktivitet i visualobjekter ved hjelp av visualobjektvalg i Power BI