Nota Introductoria: El día quiero compartir con ustedes mis amigo@ un pequeño fragmento del capítulo 8 de nuestro libro EL ADN DE POWER PIVOT en el cual estudiamos como emular el tipo de visualización de valor porcentaje del total general con el lenguaje DAX.
Emulando Porcentaje del Total General con el Lenguaje DAX
Vamos a emular el tipo de visualización de valor: % del total general mediante medidas utilizando el lenguaje DAX para estudiar un par de funciones de la familia de funciones de remoción de coordenadas.
Empezaremos por la función ALL, esta remueve una o más coordenadas en el query context, vamos directamente al ejemplo.
Lo que deseamos observar es que porcentaje corresponde los ingresos de cada año respecto al total general, la medida sería:
Podremos ver las ventas totales en términos monetarios que ha realizado :
Tabla_Pedidos[% Ingresos Respecto al Total]:=
[Ingresos]
/ CALCULATE ( [Ingresos]; ALL ( TABLA_Pedidos[Fecha de Envio (año)] ) )
He aquí la imagen que :
Creemos una tabla dinámica con la siguiente configuración: Fecha de Envio al área de filas, el campo País al área de filtros donde seleccionamos únicamente Brasil, y finalmente las medidas Ingresos y % Ingresos Respecto al Total al área de valores
Ten en Cuenta: En el esquema de la próxima página se abrevia Fecha de Envio (año) como FdE y TABLA_Pedidos como Pedidos.
En la esquematización que sigue se analizan los contextos del numerador y denominador de la medida % Ingresos Respecto al Total, para ver como a distintos miembros de la expresión se aplican diferentes filter context. Se analiza el valor 0.08%
(Puedes Descargar La Página 228 del Capítulo 8 del Libro: EL ADN DE POWER PIVOT, pulsando clic aquí)
– Función ALL
La función ALL remueve ciertas coordenadas (filtros) durante las etapas del proceso de cálculo para una medida. Veamos su sintaxis, argumentos y algunas consideraciones.
Sintaxis:
ALL(<Tabla> | Columna [; Columna] [; Columna] …)
Argumentos:
Tabla: Una tabla a «remover» coordenadas.
Columna: Columna a ignorar filtros.
El primer argumento de la función ALL es obligatorio y puede ser una tabla o columna, después de este se pueden especificar cuantas columnas necesitemos siempre y cuando el primer argumento no especifique una tabla, es decir, si el primer argumento es una tabla, entonces no se pueden especificar columnas individuales. Es necesario remarcar que cuando se utiliza la función ALL es necesario incluir el nombre de la tabla.
– Ejemplos Válidos
ALL(TABLA_Pedidos[Páis];TABLA_Pedidos[SKU])
– Ejemplos NO Válidos
ALL(TABLA_Pedidos; TABLA_Pedidos[País])
ALL(TABLA_Pedidos[País];Descuentos[Descuento(%)])
Ahora bien, ya conociendo la función ALL, miremos que pasa si quitamos el campo de fecha del área de filas y en su lugar ponemos el campo Países sin ningún filtro aplicado, el resultado es este:
¿Por qué aparece 100% en todas partes de la tabla dinámica? – Si analizamos el esquema que elaboramos previamente para el valor 0.08% de la medida % Ingresos Respecto al Total, vemos que ALL solamente está removiendo la coordenada del campo Fechas de Envio (año) y cómo podemos apreciar este campo está ausente, por lo cual los dos filter context son exactamente iguales
Pausemos un Momento: Es importante que tomes estos escenarios y realices los esquemas para distintas situaciones (valores de tabla dinámica) con papel y lápiz, de esta manera entenderás e iras interiorizando la temática de los contextos lo cuál es el punto clave para ser un Master en el lenguaje DAX. ¡Así que manos a la obra!
Optimizando el Porcentaje del Total General con el Lenguaje DAX
Entonces ¿Cuál es la manera adecuada de remover todas las coordenadas asociada a una tabla?, visto desde una nueva perspectiva, ¿Cuál es la forma correcta de referirse al total general en una tabla dinámica?
“Elemental, mi querido Watson”, pues ya vimos que la función ALL acepta una tabla y con ello remueve todas las coordenadas del query context. Actualizando la medida de la siguiente manera:
– Medida Ajustada
TABLA_Pedidos[% Ingresos Respecto al Total]:=
[Ingresos] / CALCULATE ( [Ingresos]; ALL ( TABLA_Pedidos ) )
Una vez reajusta la medida, la tabla dinámica queda:
Pausemos un Momento: Sé que estás pensando ¿Por qué molestarse en hacer esto cuando el porcentaje del total general es más fácil?, pero si lo visualizas a profundidad, si deseamos utilizar estos porcentajes en otras medidas la opción clásica de tablas dinámicas no es útil.
mediante medidas para estudiar la familia remoción de coordenadas, empezaremos por la función ALL, esta remueve una o más coordenadas en el query context, vamos directamente al ejemplo.
Bien mis amig@s, espero haya sido de agrado este pequeño fragmento del libro EL ADN DE POWER PIVOT
¡Hasta La Próxima!