Dimensionality - función de gráfico
Dimensionality() devuelve el número de dimensiones de la fila actual. En el caso de las tablas pivotantes, la función devuelve el número total de columnas de dimensión que no tienen un contenido agregado, es decir, que no contienen sumas parciales o contenidos adicionales contraídos.
Sintaxis:
Dimensionality ( )
Tipo de datos que devuelve: Entero
Limitaciones:
Esta función solo está disponible en los gráficos. Para todo tipo de gráficos, excepto la tabla dinámica, devolverá el número de dimensiones de todas las filas excepto el total, que será 0.
No se permite ordenar por valores Y en gráficos ni ordenar por columnas de expresión en tablas cuando esta función de gráfico se usa en cualquiera de las expresiones del gráfico. Estas alternativas de ordenación están por lo tanto automáticamente deshabilitadas. Cuando utiliza esta función de gráfico en una visualización o tabla, el orden de la visualización volverá a la entrada ordenada de esta función.
Ejemplo: expresión de gráfico usando Dimensionality
Descripción
Utilice la función Dimensionality en una tabla dinámica como expresión de gráfico cuando desee aplicar un formato de celda diferente en función del número de dimensiones de una fila que tenga datos no agregados. Este ejemplo aplica un color de fondo a las celdas de la tabla que cumplen una condición determinada.
Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Los siguientes campos de la tabla de datos:
-
Country
-
Product
-
Sales
-
Budget
-
Script de carga
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 ',');
Para más información sobre el uso de cargas inline, vea Usar cargas inline para cargar datos.
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada estos campos como dimensiones de fila:
-
Country
-
Product
Cree las siguientes medidas:
-
=Sum(Sales), para calcular la suma de los valores de Sales.
-
=Sum(Budget), para calcular la suma de los valores de Budget.
-
=Dimensionality(), para devolver el número de dimensiones de la fila actual.
En el panel de Propiedades de la medida Sum(Sales), introduzca la siguiente expresión como expresión de color de fondo:
=If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156),
If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29)
)
)
El resultado de salida de la expresión de color de fondo aplica un fondo rojo claro o rojo oscuro a las celdas de la tabla cuando se cumplen las condiciones aplicables.
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 |
Cuando aparece la primera dimensión de fila (Country), la función Dimensionality devuelve 1. Cuando expande una dimensión de una fila, por ejemplo Germany, para mostrar la segunda dimensión de la fila (Product), la función devuelve 2.
Las expresiones de color de fondo para la medida Sum(Sales) realizan cálculos basados en la dimensionalidad y las ventas para resaltar los distintos resultados. Cuando la dimensionalidad es 1, cualquier país Country con Sum(Sales) menor que Sum(Budget) aparecerá en rojo claro, en este ejemplo, Germany y Ireland. Cuando la dimensionalidad es 2, cualquier Product con Sum(Sales) menor que Sum(Budget) aparecerá en rojo oscuro, en este ejemplo, AA y BB para Germany.
Ejemplo: uso de Dimensionality
Descripción
Este ejemplo utiliza la función Dimensionality para aplicar detalles a un informe y resaltar las celdas de una tabla para algunas dimensiones.
Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Los siguientes campos de la tabla de datos:
-
Region
-
SalesProduct
-
Year
-
SalesValue
-
Quantity
-
Product
-
Script de carga
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
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada estos campos como dimensiones de fila:
-
Year
-
SalesProduct
-
Region
Cree las siguientes medidas:
-
=If(Dimensionality()=1, 'Total', 'Detail'), para indicar si se trata de una fila Total o Detail.
-
=If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')), para indicar el nivel de dimensión que se está visualizando.
-
=Sum(SalesValue), para calcular la suma de las ventas.
En el panel de Propiedades de la medida Sum(SalesValue), introduzca la siguiente expresión como expresión de color de fondo:
=If(Dimensionality()=1, LightGray())
El resultado de salida de la expresión de color de fondo aplica un fondo gris claro a las celdas de la tabla cuando la dimensionalidad es 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 | A nivel de resumen | 134000 |
(-) 2023 | Total | A nivel de resumen | 200000 |
(-)Laptop | Detalle | A nivel de producto | 86000 |
Este | Detalle | A nivel regional | 21000 |
Norte | Detalle | A nivel regional | 20000 |
Sur | Detalle | A nivel regional | 22000 |
Oeste | Detalle | A nivel regional | 23000 |
(-) Mobile | Detalle | A nivel de producto | 63000 |
(-) Tablet | Detalle | A nivel de producto | 51000 |
Puede ver cómo se puede utilizar la función Dimensionality para destacar el detalle del informe y resaltar todas las dimensiones de las filas de nivel superior.