Del via


Anmod om aggregerede subtotaldata

API'en Total og Subtotal gør det muligt for brugerdefinerede visualiseringer med en matrixdatavisning at anmode om aggregerede subtotaldata fra Power BI-værten. Subtotalerne beregnes for hele matrixens semantiske model eller angives for individuelle niveauer i matrixdatahierarkiet. Se eksempelrapporten for at få et eksempel på API'en Total og Subtotal i en Power BI-visualisering.

Bemærk

Anmodning om subtotaldata understøttes i version 2.6.0 og nyere. Egenskaben rowSubtotalType er tilgængelig i version 5.1.0 og nyere. Du kan finde ud af, hvilken version du bruger, ved at se apiVersion i filen pbiviz.json .

Hver gang en visualisering opdaterer sine data, udsteder visualiseringen en anmodning om datahentning til Power BI-backend. Disse dataanmodninger er normalt for værdier for de felter, som brugeren har trukket ind i feltfelterne i visualiseringen. Nogle gange har visualiseringen brug for andre sammenlægninger eller subtotaler (f.eks. sum eller antal), der er anvendt på feltbrønderne. Med API'en Total og Subtotal kan du tilpasse forespørgslen om udgående data for at anmode om mere aggregering eller subtotaldata.

Screenshot of visual with subtotals row and columns highlighted.

Subtotal-API'en

API'en tilbyder følgende tilpasning for hver datavisningstype (i øjeblikket kun matrixdatavisninger).

  • rowSubtotals: (boolesk) Angiver, om der skal anmodes om subtotaldata for alle felter i feltbrønd for rækker.
  • rowSubtotalsPerLevel: (boolesk) Angiver, om subtotaldataene kan slås til for individuelle felter i rækkens feltbrønd.
  • columnSubtotals: (boolesk) Angiver, om der skal anmodes om subtotaldata for alle felter i feltbrønd for kolonner.
  • columnSubtotalsPerLevel: (boolesk) Angiver, om subtotaldataene kan slås til for individuelle felter i feltbrønd for kolonner.
  • levelSubtotalEnabled: (boolesk) Angiver, om der anmodes om subtotaler for rækken eller kolonnen. I modsætning til alle andre egenskaber anvendes denne egenskab på individuelle rækker eller kolonner.
  • rowSubtotalsType: ("Top" eller "Bund") Angiver, om rækken med totaldataene skal hentes før (top) eller efter (bottom) resten af dataene. Hvis denne egenskab er angivet til bottom, kan totalen kun vises, når alle dataene er hentet. Standarden er bottom.

Hver af de tidligere viste parametre tildeles en værdi baseret på de relaterede egenskaber i egenskabsruden og standardindstillingerne.

Sådan bruger du subtotal-API'en

Filen capabilities.json for visualiseringen skal:

  • angiv den egenskab, som hver af ovenstående parametre knyttes til.
  • angiv den standardværdi, der skal bruges, hvis egenskaben ikke er defineret.

Parametrene bruger et format som følgende eksempel:

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

Den foregående kode angiver, at rækkesubtotaler er aktiveret af egenskaben rowSubtotals i objektet subTotals . Egenskaben har standardværdien true.

API'en aktiveres automatisk for en visualisering, når subtotalstrukturen og alle switchtilknytninger er defineret i filen capabilities.json .

Følgende kode er et eksempel på den komplette API-konfiguration i filen capabilities.json (kopieret fra API-eksempelvisualiseringen):

"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 vigtigt, at enumerateProperties() funktionen af visualiseringen er i overensstemmelse med de standarder, der er angivet i filen capabilities.json . Tilpasningslogikken fungerer i henhold til de angivne standarder. Hvis funktionen enumerateProperties() og standarderne ikke er justeret, kan de faktiske tilpasninger af subtotaler afvige fra brugernes forventninger.

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

Hvis du vil gennemse de tilgængelige tilpasninger, skal du udvide rullemenuen Subtotaler i egenskabsruden Formatér . Rediger indstillingerne for subtotaler, og registrer ændringerne i præsentationen af subtotaler (med navnet Totaler) i ruden Visualiseringer.

Screenshot of the Power BI Visualizations pane, which shows the Column and Row subtotals field wells.

Overvejelser og begrænsninger

  • Egenskaben rowSubtotalsType er kun tilgængelig for rækker. Du kan ikke angive kolonnesubtotaler til begyndelsen af en kolonne.

  • Funktionen Udvid og skjul tilsidesætter rowSubtotals. Subtotaler vises, når rækkerne udvides, selvom rowSubtotals de er angivet til falsk.

Føj interaktivitet til visualisering ved hjælp af valg af Power BI-visualiseringer