Dimensionality - diagramfunctie
Dimensionality() retourneert het aantal dimensies voor de huidige rij. In het geval van draaitabellen retourneert de functie het totale aantal kolommen met dimensies met een niet-geaggregeerde inhoud, dat wil zeggen kolommen die geen subtotalen of samengevouwen aggregaten bevatten.
Syntaxis:
Dimensionality ( )
Retourgegevenstypen: geheel getal
Beperkingen:
Deze functie is alleen beschikbaar in diagrammen. Voor alle diagramtypen, met uitzondering van de draaitabel, retourneert deze functie het aantal dimensies in alle rijen met uitzondering van het totaal dat gelijk is aan 0.
Het is niet toegestaan te sorteren op y-waarden in grafieken of op uitdrukkingskolommen in tabellen als deze diagramfunctie wordt gebruikt in een van de uitdrukkingen van de grafiek. Deze sorteeropties worden daarom automatisch uitgeschakeld. Als u deze diagramfunctie gebruikt in een visualisatie of tabel, wordt de sortering van de visualisatie teruggezet naar de gesorteerde invoer van deze functie.
Voorbeeld: diagramuitdrukking met Dimensionality
Overzicht
Gebruik de functie Dimensionality met een draaitabel als een diagramuitdrukking wanneer u verschillende celopmaakopties wilt toepassen afhankelijk van het aantal dimensies in een rij die niet-geaggregeerde gegevens heeft. In dit voorbeeld wordt een achtergrondkleur toegepast op tabelcellen die overeenkomen met een bepaalde voorwaarde.
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.
Het load-script bevat:
-
Een gegevensverzameling die wordt geladen in een tabel met de naam Example.
-
De volgende velden in de gegevenstabel:
-
Country
-
Product
-
Sales
-
Budget
-
Load-script
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 ',');Voor meer informatie over inline loads, raadpleegt u Inline-ladingen gebruiken om gegevens te laden.
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe draaotabel en voeg deze velden toe als dimensies:
-
Country
-
Product
Maak de volgende metingen:
-
=Sum(Sales), om de som van de Sales waarden te berekenen.
-
=Sum(Budget), om de som van de Budget waarden te berekenen.
-
=Dimensionality(), om het aantal dimensies voor de huidige rij te retourneren.
Voer in het deelvenster Eigenschappen de volgende uitdrukking in als de Uitdrukking achtergrondkleur voor de Sum(Sales)-meting:
=If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156),
If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29)
)
)De uitvoer van de achtergrondkleuruitdrukking past een lichtrode of donkerrode celachtergrond toe op de tabelcellen wanneer aan de toepasselijke voorwaarden is voldaan.
| 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 |
Wanneer de dimensie van de eerste rij (Country) wordt weergegeven, retourneert de functie Dimensionality 1. Wanneer u een dimensie van een rij, zoals Germany, uitvouwt om de tweede dimensie van de rij (Product) weer te geven, retourneert de functie 2.
De achtergrondkleuruitdrukkingen voor de meting Sum(Sales) voeren berekeningen uit op basis van dimensionaliteit en verkoop om verschillende resultaten te markeren. Wanneer de dimensionaliteit 1 is, verschijnt Country met Sum(Sales) minder dan Sum(Budget) lichtrood, in dit voorbeeld Germany en Ireland. Wanneer de dimensionaliteit 2 is, verschijnt Product met Sum(Sales) minder dan Sum(Budget) donkerrood, in dit voorbeeld AA en BB voor Germany.
Voorbeeld 5 – Scenario met Dimensionality
Overzicht
Dit voorbeeld gebruikt de functie Dimensionality om details op een rapport toe te passen en tabelcellen voor sommige dimensies te markeren.
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.
Het load-script bevat:
-
Een gegevensverzameling die wordt geladen in een tabel met de naam Example.
-
De volgende velden in de gegevenstabel:
-
Region
-
SalesProduct
-
Year
-
SalesValue
-
Quantity
-
Product
-
Load-script
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
];Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe draaotabel en voeg deze velden toe als dimensies:
-
Year
-
SalesProduct
-
Region
Maak de volgende metingen:
-
=If(Dimensionality()=1, 'Total', 'Detail'), om aan te geven of het een Total of Detail rij is.
-
=If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')), om het weergegeven dimensieniveau aan te geven.
-
=Sum(SalesValue), om de som van verkoop te berekenen.
Voer in het deelvenster Eigenschappen de volgende uitdrukking in als de Uitdrukking achtergrondkleur voor de Sum(SalesValue)-meting:
=If(Dimensionality()=1, LightGray())De uitvoer van de achtergrondkleuruitdrukking past een lichtgrijze celachtergrond toe op de tabelcellen wanneer de dimensionaliteit 1 is.
| Jaar | |||
|---|---|---|---|
| SalesProduct | |||
| Regio | |||
| If(Dimensionality()=1, 'Total', 'Detail') | If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')) | Sum(SalesValue) | |
| (+) 2022 | Totaal | Summary-Level | 134000 |
| (-) 2023 | Totaal | Summary-Level | 200000 |
| (-)Laptop | Detail | Product-Level | 86000 |
| East | Detail | Region-Level | 21000 |
| North | Detail | Region-Level | 20000 |
| South | Detail | Region-Level | 22000 |
| West | Detail | Region-Level | 23000 |
| (-) Mobile | Detail | Product-Level | 63000 |
| (-) Tablet | Detail | Product-Level | 51000 |
U kunt zien hoe de functie Dimensionality gebruikt kan worden om het rapport gedetailleerder te maken en alle rijen op het hoogste niveau te markeren.