Delen via


Geaggregeerde subtotaalgegevens aanvragen

Met de API voor totalen en subtotalen kunnen aangepaste visuals met een matrixgegevensweergave geaggregeerde subtotaalgegevens aanvragen van de Power BI-host. De subtotalen worden berekend voor het gehele semantische matrixmodel of opgegeven voor afzonderlijke niveaus van de matrixgegevenshiërarchie. Zie het voorbeeldrapport voor een voorbeeld van de API Totaal en Subtotaal in een Power BI-visual.

Notitie

Het aanvragen van subtotaalgegevens wordt ondersteund in versie 2.6.0 en hoger. De eigenschap rowSubtotalType is beschikbaar in versie 5.1.0 en hoger. Als u wilt achterhalen welke versie u gebruikt, controleert u de apiVersion in het bestand pbiviz.json.

Telkens wanneer een visual de gegevens vernieuwt, geeft de visual een aanvraag voor het ophalen van gegevens aan de Back-end van Power BI uit. Deze gegevensaanvragen zijn meestal bedoeld voor waarden van de velden die de gebruiker naar de veldvakken van de visual heeft gesleept. Soms heeft de visual andere aggregaties of subtotalen (bijvoorbeeld som of aantal) nodig die zijn toegepast op de veldputten. Met de API Totaal en Subtotaal kunt u de uitgaande gegevensquery aanpassen om meer aggregatie- of subtotaalgegevens aan te vragen.

Schermopname van een visual met de rij en kolommen van subtotalen gemarkeerd.

De Subtotalen API

De API biedt de volgende aanpassing voor elk gegevensweergavetype (momenteel alleen matrixgegevensweergaven).

  • rowSubtotals: (boolean) Geeft aan of de subtotaalgegevens moeten worden aangevraagd voor alle velden in het rijenveld.
  • rowSubtotalsPerLevel: (booleaanse waarde) Geeft aan of de subtotaalgegevens kunnen worden gewisseld voor afzonderlijke velden in het veldgebied van de rij.
  • columnSubtotals: (booleaanse waarde) Geeft aan of de subtotaalgegevens van moeten worden aangevraagd voor alle velden in de kolomvelden.
  • columnSubtotalsPerLevel: (booleaanse waarde) Geeft aan of de subtotaalgegevens gegevens kunnen worden ingeschakeld voor afzonderlijke velden in het kolomveld.
  • levelSubtotalEnabled: (booleaanse waarde) Geeft aan of de subtotalen worden aangevraagd voor de rij of kolom. In tegenstelling tot alle andere eigenschappen wordt deze eigenschap toegepast op afzonderlijke rijen of kolommen.
  • rowSubtotalsType: ('Boven' of 'Onder') Geeft aan of de rij met de gegevens van het totaal verkregen moet worden voorafgaand aan (top) of volgend op (bottom) de rest van de gegevens. Als deze eigenschap is ingesteld op bottom, kan het totaal alleen worden weergegeven nadat alle gegevens zijn opgehaald. De standaardwaarde is bottom.

Aan elk van deze schakelopties wordt een waarde toegewezen op basis van de gerelateerde eigenschappen in het eigenschappenvenster en de standaardwaarden.

De subtotaal-API gebruiken

Het capabilities.json bestand van de visual moet:

  • specificeer de eigenschap die aan elke schakelaar is toegewezen.
  • geef de standaardwaarde op die moet worden gebruikt als de eigenschap niet is gedefinieerd.

De schakelaars gebruiken een indeling zoals het volgende voorbeeld:

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

De voorgaande code geeft aan dat de rijsubtotalen zijn ingeschakeld door de eigenschap rowSubtotals in het subTotals-object. De eigenschap heeft een standaardwaarde van true.

De API wordt automatisch ingeschakeld voor een visual zodra de structuur van de subtotalen en alle toewijzingen voor de schakelaars zijn gedefinieerd in het capabilities.json-bestand.

De volgende code is een voorbeeld van de volledige API-configuratie in het capabilities.json-bestand (gekopieerd uit de visual met het API-voorbeeld):

"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"
            }
        } 
    }

Het is belangrijk dat de enumerateProperties() functie van de visual overeenkomt met de standaardwaarden die zijn opgegeven in het capabilities.json-bestand. De aanpassingslogica werkt volgens de opgegeven standaardwaarden. Als de enumerateProperties()-functie en de standaardwaarden niet zijn uitgelijnd, kunnen de werkelijke subtotaalaanpassingen afwijken van de verwachtingen van de gebruiker.

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

Als u de beschikbare aanpassingen wilt bekijken, vouwt u het vervolgkeuzemenu Subtotalen uit in het eigenschappenvenster Opmaak. Wijzig de instellingen voor subtotalen en volg de wijzigingen in de presentatie met subtotalen (met de naam Totalen) in het deelvenster Visualisaties.

Schermopname van het deelvenster Visualisaties van Power BI, waarin de veldenvelden Kolom en Rij worden weergegeven.

Overwegingen en beperkingen

  • De eigenschap rowSubtotalsType is alleen beschikbaar voor rijen. U kunt geen kolomsubtotalen instellen op het begin van een kolom.

  • De uit- en samenvouwfunctie voor overschrijft rowSubtotals. Subtotalen worden weergegeven wanneer de rijen worden uitgevouwen, ook al is rowSubtotals ingesteld op vals.

Interactiviteit toevoegen aan visuals met behulp van Selecties van Power BI-visuals