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.
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 (bottom
top
) il resto dei dati. Se questa proprietà è impostata subottom
, 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.
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 serowSubtotals
è impostata su false.
Contenuto correlato
Aggiungere interattività all'oggetto visivo usando le selezioni degli oggetti visivi di Power BI