Dimensionality - funzione per grafici
Dimensionality() restituisce il numero di dimensioni per la riga attuale. Nel caso delle tabelle pivot la funzione restituisce il numero totale di colonne di dimensione senza contenuti di aggregazione, ossia senza somme parziali o aggregati compressi.
Sintassi:
Dimensionality ( )
Tipo di dati restituiti: numero intero
Limiti:
Questa funzione è disponibile solo nei grafici. Per tutti gli altri tipi di grafici, eccetto le tabelle pivot, restituirà il numero di dimensioni in tutte le righe eccetto il totale, che sarà 0.
L'ordinamento sui valori y nei grafici o l'ordinamento per colonne di espressione nelle tabelle non è consentito quando si utilizza questa funzione di grafico in una qualsiasi delle espressioni del grafico. Queste alternative di ordinamento verranno perciò disattivate automaticamente. Quando si utilizza questa funzione di grafico in una visualizzazione o in una tabella, l'ordinamento della visualizzazione torna all'ordinamento inserito in questa funzione.
Esempio: espressione del grafico che utilizza la Dimensionalità
Panoramica
Usare la funzione Dimensionality in una tabella pivot come espressione del grafico dove si vuole applicare una formattazione diversa delle celle a seconda del numero di dimensioni in una riga che ha dati non aggregati. Questo esempio applica un colore di sfondo alle celle della tabella che corrispondono a una data condizione.
Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.
Lo script di caricamento contiene:
-
Un set di dati che viene caricato in una tabella dati chiamata Example.
-
I seguenti campi nella tabella dati:
-
Country
-
Product
-
Sales
-
Budget
-
Script di caricamento
Example:
Load * inline [
Country, Product, Sales, Budget
Sweden, AA, 100000, 50000
Germany, AA, 125000, 175000
Canada, AA, 105000, 98000
Norway, AA, 74850, 68500
Ireland, AA, 49000, 48000
Sweden, BB, 98000, 99000
Germany, BB, 115000, 175000
Norway,BB,71850,68500
Ireland,BB,31000,48000
] (delimiter is ',');
Per ulteriori informazioni sull'utilizzo di caricamenti inline, vedere Utilizzo dei caricamenti inline per caricare i dati.
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella pivot e aggiungere questi campi come dimensioni della riga:
-
Country
-
Product
Creare le seguenti misure:
-
=Sum(Sales), per calcolare la somma dei valori per Sales.
-
=Sum(Budget), per calcolare la somma dei valori per Budget.
-
=Dimensionality(), per restituire il numero di dimensioni per la riga attuale.
Nel pannello Proprietà della misura Sum(Sales), inserire l'espressione seguente come Espressione colore di sfondo.
=If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156),
If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29)
)
)
L'output dell'espressione del colore di sfondo applica uno sfondo rosso chiaro o rosso scuro alle celle della tabella quando vengono soddisfatte le condizioni applicabili.
Country | |||
---|---|---|---|
Product | |||
Sum(Sales) | Sum(Budget) | Dimensionality() | |
(+) Canada | 105000 | 98000 | 1 |
(-) Germany | 240000 | 350000 | 1 |
AA | 125000 | 175000 | 2 |
BB | 115000 | 175000 | 2 |
(+) Ireland | 80000 | 96000 | 1 |
(+) Norway | 146700 | 137000 | 1 |
(+) Sweden | 198000 | 149000 | 1 |
Quando viene visualizzata la prima dimensione della riga (Country), la funzione Dimensionality restituisce 1. Quando si espande una dimensione di riga, come Germany, per visualizzare la seconda dimensione di riga (Product), la funzione restituisce 2.
Le espressioni del colore di sfondo per la misura Sum(Sales) eseguono calcoli basati sulla dimensionalità e sulle vendite per evidenziare i diversi risultati. Quando la dimensionalità è 1, qualsiasi valore Country con Sum(Sales) inferiore a Sum(Budget) appare in rosso chiaro, in questo esempio, Germany e Ireland. Quando la dimensionalità è 2, qualsiasi valore Product con Sum(Sales) inferiore a Sum(Budget) appare in rosso scuro, in questo esempio, AA e BB per Germany.
Esempio: scenario per l'applicazione della funzione Dimensionality
Panoramica
Questo esempio utilizza la funzione Dimensionality per applicare i dettagli a un report ed evidenziare le celle della tabella per alcune dimensioni.
Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.
Lo script di caricamento contiene:
-
Un set di dati che viene caricato in una tabella dati chiamata Example.
-
I seguenti campi nella tabella dati:
-
Region
-
SalesProduct
-
Year
-
SalesValue
-
Quantity
-
Product
-
Script di caricamento
Example:
LOAD * INLINE [
Region, SalesProduct, Year, SalesValue, Quantity, Profit
North, Laptop, 2023, 20000, 15, 4000
North, Mobile, 2023, 15000, 25, 3000
North, Laptop, 2022, 18000, 20, 3500
North, Mobile, 2022, 14000, 22, 2800
South, Laptop, 2023, 22000, 18, 4500
South, Mobile, 2023, 16000, 27, 3200
South, Laptop, 2022, 19000, 19, 3800
South, Mobile, 2022, 15000, 23, 3100
East, Laptop, 2023, 21000, 16, 4200
East, Mobile, 2023, 15500, 24, 3100
East, Laptop, 2022, 18500, 18, 3900
East, Mobile, 2022, 14500, 21, 2950
West, Laptop, 2023, 23000, 17, 4700
West, Mobile, 2023, 16500, 26, 3300
West, Laptop, 2022, 19500, 20, 4000
West, Mobile, 2022, 15500, 24, 3100
North, Tablet, 2023, 12000, 10, 2500
South, Tablet, 2023, 13000, 12, 2700
East, Tablet, 2023, 12500, 11, 2600
West, Tablet, 2023, 13500, 13, 2800
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella pivot e aggiungere questi campi come dimensioni della riga:
-
Year
-
SalesProduct
-
Region
Creare le seguenti misure:
-
=If(Dimensionality()=1, 'Total', 'Detail'), per indicare se si tratta di una riga Total o Detail.
-
=If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')), per indicare il livello di dimensione che viene visualizzato.
-
=Sum(SalesValue), per calcolare la somma delle vendite.
Nel pannello Proprietà della misura Sum(SalesValue), inserire l'espressione seguente come Espressione colore di sfondo.
=If(Dimensionality()=1, LightGray())
L'output dell'espressione del colore di sfondo applica uno sfondo grigio chiaro alle celle della tabella quando il valore per la dimensionalità è 1.
Anno | |||
---|---|---|---|
SalesProduct | |||
Area geografica | |||
If(Dimensionality()=1, 'Total', 'Detail') | If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')) | Sum(SalesValue) | |
(+) 2022 | Totale | Livello di riepilogo | 134000 |
(-) 2023 | Totale | Livello di riepilogo | 200000 |
(-)Laptop | Dettaglio | A livello di prodotto | 86000 |
Est | Dettaglio | Livello di regione | 21000 |
Nord | Dettaglio | Livello di regione | 20000 |
Sud | Dettaglio | Livello di regione | 22000 |
Ovest | Dettaglio | Livello di regione | 23000 |
(-) Dispositivo mobile | Dettaglio | A livello di prodotto | 63000 |
(-) Tablet | Dettaglio | A livello di prodotto | 51000 |
È possibile vedere come la funzione Dimensionality può essere utilizzata per migliorare i dettagli del report ed evidenziare tutte le dimensioni delle righe di livello superiore.