Dimensionality - fonction de graphique
Dimensionality() renvoie le nombre de dimensions correspondant à la ligne active. Dans le cas des tableaux croisés dynamiques, la fonction renvoie le nombre de colonnes de dimension présentant un contenu non agrégatif, c'est-à-dire ne comprenant pas de sommes partielles ou d'agrégats réduits.
Dimensionality ( )
entier
Cette fonction n'est disponible que dans les graphiques. Pour tous les types de graphique, excepté le tableau croisé dynamique, cette fonction renverra le nombre de dimensions dans toutes les lignes sauf celle du total, qui donnera 0.
Le tri sur les valeurs des ordonnées dans les graphiques ou le tri par colonnes d'expressions dans les tableaux n'est pas autorisé lors de l'utilisation de cette fonction de graphique dans l'une des expressions du graphique. Ces options de tri sont donc automatiquement désactivées. Lorsque vous utilisez cette fonction de graphique dans une visualisation ou un tableau, le tri de la visualisation revient à l'entrée triée via cette fonction.
Exemple : Expression de graphique avec Dimensionality
Vue d'ensemble
Utilisez la fonction Dimensionality avec un tableau croisé dynamique comme expression de graphique pour appliquer différents formatages de cellules suivant le nombre de dimensions d'une ligne contenant des données non agrégées. Cet exemple applique une couleur d'arrière-plan aux cellules du tableau correspondant à une condition donnée.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.
Le script de chargement contient :
-
Jeu de données chargé dans une table de données appelée Example.
-
Champs suivants dans la table de données :
-
Country
-
Product
-
Sales
-
Budget
-
Script de chargement
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 ',');Pour plus d'informations sur l'utilisation des chargements inline, voir Utilisation de chargements inline pour charger des données.
Résultats
Chargez les données et ouvrez une feuille. Créez un nouveau tableau croisé dynamique et ajoutez ces champs comme dimensions de ligne :
-
Country
-
Product
Créez les mesures suivantes :
-
=Sum(Sales), pour calculer la somme des valeurs de Sales.
-
=Sum(Budget), pour calculer la somme des valeurs de Budget.
-
=Dimensionality(), pour renvoyer le nombre de dimensions de la ligne en cours.
Dans le panneau Propriétés de la mesure Sum(Sales), saisissez l'expression suivante comme Expression de la couleur d'arrière-plan :
=If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156),
If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29)
)
)La sortie de l'expression de couleur d'arrière-plan applique un arrière-plan de cellule rouge clair ou rouge foncé aux cellules du tableau lorsque les conditions applicables sont remplies.
| 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 |
Lorsque la dimension de la première ligne (Country) est affichée, la fonction Dimensionality renvoie 1. Lorsque vous développez une dimension de ligne telle que Germany pour afficher la dimension de la deuxième ligne (Product), la fonction renvoie 2.
Les expressions de couleur d'arrière-plan de la mesure Sum(Sales) effectuent des calculs basés sur la dimensionnalité et les ventes pour mettre en évidence les différents résultats. Lorsque la dimensionnalité est 1, tout pays Country pour lequel la valeur Sum(Sales) est inférieure à la valeur Sum(Budget) apparaît en rouge clair ; dans cet exemple, Germany et Ireland. Lorsque la dimensionnalité est 2, tout produit Product pour lequel la valeur Sum(Sales) est inférieure à la valeur Sum(Budget) apparaît en rouge foncé ; dans cet exemple, AA et BB pour Germany.
Exemple - Scénario Dimensionality
Vue d'ensemble
Cet exemple utilise la fonction Dimensionality pour appliquer des détails à un rapport et mettre en évidence les cellules du tableau pour certaines dimensions.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.
Le script de chargement contient :
-
Jeu de données chargé dans une table de données appelée Example.
-
Champs suivants dans la table de données :
-
Region
-
SalesProduct
-
Year
-
SalesValue
-
Quantity
-
Product
-
Script de chargement
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
];Résultats
Chargez les données et ouvrez une feuille. Créez un nouveau tableau croisé dynamique et ajoutez ces champs comme dimensions de ligne :
-
Year
-
SalesProduct
-
Region
Créez les mesures suivantes :
-
=If(Dimensionality()=1, 'Total', 'Detail'), pour indiquer s'il s'agit d'une ligne Total ou Detail.
-
=If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')), pour indiquer le niveau de dimension affiché.
-
=Sum(SalesValue), pour calculer la somme des ventes.
Dans le panneau Propriétés de la mesure Sum(SalesValue), saisissez l'expression suivante comme Expression de la couleur d'arrière-plan :
=If(Dimensionality()=1, LightGray())La sortie de l'expression de couleur d'arrière-plan applique un arrière-plan de cellule gris clair aux cellules du tableau lorsque la dimensionnalité est 1.
| Year | |||
|---|---|---|---|
| SalesProduct | |||
| Region | |||
| If(Dimensionality()=1, 'Total', 'Detail') | If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')) | Sum(SalesValue) | |
| (+) 2022 | Total | Summary-Level | 134000 |
| (-) 2023 | Total | 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 |
Vous pouvez voir comment la fonction Dimensionality peut être utilisée pour améliorer le détail du rapport et mettre en évidence toutes les dimensions des lignes de niveau supérieur.