Richiedere dati subtotali aggregati

L'API Totale e Subtotale consente agli oggetti visivi personalizzati con una vista dati matrice di richiedere dati subtotali aggregati dall'host di Power BI. I subtotali vengono calcolati per l'intero modello semantico matrice o specificati per singoli livelli della gerarchia di dati della matrice. Vedere il report di esempio per un esempio dell'API Totale e Subtotale in un oggetto visivo di Power BI.

Nota

La richiesta di dati subtotali è supportata nella versione 2.6.0 e successive. La rowSubtotalType proprietà è disponibile nella versione 5.1.0 e successive. Per scoprire quale versione si sta usando, archiviare apiVersion il file pbiviz.json .

Ogni volta che un oggetto visivo aggiorna i dati, l'oggetto visivo invia una richiesta di recupero dei dati al back-end di Power BI. Queste richieste di dati sono in genere per i valori dei campi trascinati dall'utente nei campi dell'oggetto visivo. A volte l'oggetto visivo necessita di altre aggregazioni o subtotali (ad esempio, somma o conteggio) applicate ai campi. L'API Totale e Subtotale consente di personalizzare la query di dati in uscita per richiedere più dati di aggregazione o subtotale.

Screenshot of visual with subtotals row and columns highlighted.

API subtotali

L'API offre la personalizzazione seguente per ogni tipo di visualizzazione dati (attualmente, solo viste dati matrice).

  • rowSubtotals: (booleano) Indica se i dati del subtotale devono essere richiesti per tutti i campi nel campo righe.
  • rowSubtotalsPerLevel: (booleano) Indica se i dati del subtotale possono essere attivati o disattivati per i singoli campi nell'area del campo della riga.
  • columnSubtotals: (booleano) Indica se i dati del subtotale devono essere richiesti per tutti i campi dell'area colonne.
  • columnSubtotalsPerLevel: (booleano) Indica se i dati del subtotale possono essere attivati o disattivati per i singoli campi nell'area dei campi colonne.
  • levelSubtotalEnabled: (booleano) Indica se i subtotali vengono richiesti per la riga o la colonna. A differenza di tutte le altre proprietà, questa proprietà viene applicata a singole righe o colonne.
  • rowSubtotalsType: ("Top" o "Bottom") Indica se la riga con i dati totali deve essere recuperata prima () o dopo (bottomtop) il resto dei dati. Se questa proprietà è impostata su bottom, il totale può essere visualizzato solo dopo il recupero di tutti i dati. Il valore predefinito è bottom.

A ognuna delle opzioni elencate in precedenza viene assegnato un valore in base alle proprietà correlate nel riquadro delle proprietà e alle impostazioni predefinite.

Come usare l'API subtotale

Il file capabilities.json dell'oggetto visivo deve:

  • specificare la proprietà a cui viene eseguito il mapping di ognuna delle opzioni precedenti.
  • specificare il valore predefinito da utilizzare se la proprietà non è definita.

Le opzioni usano un formato simile all'esempio seguente:

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

Il codice precedente indica che i subtotali di riga sono abilitati dalla proprietà rowSubtotals nell'oggetto subTotals . La proprietà ha un valore predefinito di true.

L'API viene abilitata automaticamente per un oggetto visivo ogni volta che la struttura dei subtotali e tutti i mapping dei commutatori vengono definiti nel file capabilities.json .

Il codice seguente è un esempio della configurazione API completa nel file capabilities.json (copiato dall'oggetto visivo dell'esempio 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"
            }
        } 
    }

È importante che la enumerateProperties() funzione dell'oggetto visivo sia allineata alle impostazioni predefinite specificate nel file capabilities.json . La logica di personalizzazione opera in base alle impostazioni predefinite specificate. Se la enumerateProperties() funzione e le impostazioni predefinite non sono allineate, le personalizzazioni subtotali effettive potrebbero differire dalle aspettative degli utenti.

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

Per esaminare le personalizzazioni disponibili, espandere il menu a discesa Subtotals nel riquadro delle proprietà Formato . Modificare le impostazioni dei subtotali e tenere traccia delle modifiche apportate alla presentazione dei subtotali (denominati Totali) nel riquadro Visualizzazioni.

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

Considerazioni e limitazioni

  • La rowSubtotalsType proprietà è disponibile solo per le righe. Non è possibile impostare subtotali di colonna all'inizio di una colonna.

  • La funzionalità di espansione e compressione esegue l'override di rowSubtotals. I subtotali vengono visualizzati quando le righe vengono espanse, anche se rowSubtotals è impostata su false.

Aggiungere interattività all'oggetto visivo usando le selezioni degli oggetti visivi di Power BI