Dimensionality - diagramfunktion
Dimensionality() returnerar antalet dimensioner för den aktuella raden. Vad gäller pivottabeller returnerar funktionen det totala antalet dimensionskolumner som har icke-aggregerat innehåll, d.v.s. inte innehåller delsummor eller dolda aggregeringar.
Syntax:
Dimensionality ( )
Returnerad datatyp: heltal
Begränsningar:
Funktionen är endast tillgänglig i diagram. För alla diagramtyper utom pivottabeller returnerar den antalet dimensioner i alla rader utom summan, som blir 0.
Sortering på y-värden i diagram, eller sortering efter uttryckskolumner i tabeller, är inte tillåtet när denna diagramfunktion används i något av diagrammets uttryck. Dessa sorteringsalternativ är därför automatiskt inaktiverade. När du använder den här diagramfunktion i en visualisering eller tabell kommer sorteringen av visualiseringen att återgå till den sorterade inmatningen av den här funktionen.
Exempel: diagramuttryck som använder Dimensionality
Översikt
Använd funktionen Dimensionality i en pivottabell som ett diagramuttryck där du vill använda olika cellformatering beroende på antalet dimensioner i en rad som har icke-aggregerade data. Det här exemplet tillämpar en bakgrundsfärg till tabellceller som motsvarar ett visst tillstånd.
Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.
Laddningsskriptet innehåller:
-
En datauppsättning som läses in i en datatabell som heter Example.
-
Följande fält i datatabellen:
-
Country
-
Product
-
Sales
-
Budget
-
Laddningsskript
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 ',');
Mer information om hur du använder inline-laddningar finns i Använda inline-laddningar för att ladda data.
Resultat
Ladda data och öppna ett ark. Skapa en ny pivottabell och lägg till dessa fält som raddimensioner:
-
Country
-
Product
Skapa följande mått:
-
=Sum(Sales), för att beräkna summan av Sales-värdena.
-
=Sum(Budget), för att beräkna summan av Budget-värdena.
-
=Dimensionality(), för att ange antalet dimensioner för aktuell rad.
I panelen Egenskaper för mätvärdet Sum(Sales) anger du följande uttryck som Bakgrundsfärguttryck:
=If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156),
If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29)
)
)
Utdata från bakgrundsfärgsuttrycket ger en ljusröd eller mörkröd cellbakgrund till tabellcellerna när de tillämpliga villkoren är uppfyllda.
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 |
När den första radens dimension (Country) visas, returnerar funktionen Dimensionality 1. När du expanderar en raddimension, t.ex. Germany, för att visa den andra raddimensionen (Product), returnerar funktionen 2.
Bakgrundsfärguttrycken för måtte Sum(Sales) utför beräkningar baserade på dimensionalitet och försäljning för att lyfta fram olika resultat. När dimensionen är 1 visas alla Country med Sum(Sales) som är mindre än Sum(Budget) i ljusrött, i det här exemplet Germany och Ireland. När dimensionen är 2 visas alla Product med Sum(Sales) som är mindre än Sum(Budget) i mörkrött, i det här exemplet AA och BB för Germany.
Exempel – Dimensionality-scenario
Översikt
I det här exemplet används funktionen Dimensionality för att tillämpa detaljer på en rapport och markera tabellceller för vissa dimensioner.
Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.
Laddningsskriptet innehåller:
-
En datauppsättning som läses in i en datatabell som heter Example.
-
Följande fält i datatabellen:
-
Region
-
SalesProduct
-
Year
-
SalesValue
-
Quantity
-
Product
-
Laddningsskript
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
];
Resultat
Ladda data och öppna ett ark. Skapa en ny pivottabell och lägg till dessa fält som raddimensioner:
-
Year
-
SalesProduct
-
Region
Skapa följande mått:
-
=If(Dimensionality()=1, 'Total', 'Detail'), för att ange om det är en Total- eller Detail-rad.
-
=If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')), för att ange vilken dimension som visas.
-
=Sum(SalesValue), för att beräkna summan av försäljningen.
I panelen Egenskaper för mätvärdet Sum(SalesValue) anger du följande uttryck som Bakgrundsfärguttryck:
=If(Dimensionality()=1, LightGray())
Utdata från bakgrundsfärgsuttrycket ger en ljusgrå cellbakgrund till tabellcellerna när dimensionen är 1.
År | |||
---|---|---|---|
SalesProduct | |||
Region | |||
If(Dimensionality()=1, 'Total', 'Detail') | If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')) | Sum(SalesValue) | |
(+) 2022 | Totalt | Summary-Level | 134000 |
(-) 2023 | Totalt | Summary-Level | 200000 |
(-)Laptop | Detaljerad | Product-Level | 86000 |
East | Detaljerad | Region-Level | 21000 |
North | Detaljerad | Region-Level | 20000 |
South | Detaljerad | Region-Level | 22000 |
West | Detaljerad | Region-Level | 23000 |
(-) Mobile | Detaljerad | Product-Level | 63000 |
(-) Tablet | Detaljerad | Product-Level | 51000 |
Du kan se hur funktionen Dimensionality kan användas för att förbättra rapportens detaljnivå och lyfta fram alla dimensioner på den översta raden.