Condividi tramite


Richiedere dati subtotali aggregati

L'API Total and Subtotal consente alle visualizzazioni personalizzate con una vista dati di 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 proprietà rowSubtotalType è disponibile nella versione 5.1.0 e successive. Per scoprire quale versione si sta usando, controlla il apiVersion nel 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 la visualizzazione necessita di altre aggregazioni o subtotali (ad esempio, somma o conteggio) applicate ai pozzetti dei campi. L'API Totale e Subtotale consente di personalizzare la query di dati in uscita per richiedere ulteriori dati aggregati o subtotali.

Screenshot dell'oggetto visivo con righe e colonne subtotali evidenziate.

API subtotali

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

  • rowSubtotals: (booleano) Indica se i dati del subtotale devono essere richiesti per tutti i campi nel pannello delle 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 devono essere richiesti i dati del subtotale per tutti i campi nell'area campi colonne.
  • columnSubtotalsPerLevel: (booleano) Indica se i dati subtotale possono essere attivati o disattivati per singoli campi nell'area colonne.
  • levelSubtotalEnabled: (booleano) Indica se i subtotali sono richiesti per la riga o la colonna. A differenza di tutte le altre proprietà, questa proprietà viene applicata a singole righe o colonne.
  • rowSubtotalsType: ("Superiore" o "Inferiore") Indica se la riga con il totale del dato deve essere recuperata prima (top) o dopo (bottom) 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 di queste opzioni viene assegnato un valore in base alle proprietà correlate nel riquadro delle proprietà e alle impostazioni predefinite.

Come usare l'API subtotale

Il file dell'oggetto visivo capabilities.json deve:

  • specificare la proprietà a cui ciascun switch corrisponde.
  • specificare il valore predefinito da utilizzare se la proprietà non è definita.

Gli interruttori utilizzano un formato simile al seguente esempio:

    "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 una visualizzazione ogni volta che la struttura dei subtotali e tutte le mappature degli interruttori vengono definite nel file capabilities.json.

Il codice seguente è un esempio della configurazione API completa nel file capabilities.json (copiato dalla visualizzazione 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 funzione enumerateProperties() 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 funzione enumerateProperties() 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 Subtotali nel riquadro delle proprietà di Formato. Modificare le impostazioni dei subtotali e tenere traccia delle modifiche apportate alla presentazione dei subtotali (denominata totali) nel riquadro Visualizzazioni.

Screenshot del riquadro Visualizzazioni di Power BI, che mostra i campi Sottototali delle colonne e delle righe.

Considerazioni e limitazioni

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

  • La funzione di espansione e compressione sostituisce rowSubtotalsdi. 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