Las tablas virtuales son el ingrediente esencial para crear una lógica avanzada en LuckyTemplates. Hay un subconjunto completo de funciones dentro de LuckyTemplates que le permiten crear estas tablas virtuales.
Estas tablas virtuales a veces se pueden usar simplemente como filtro y funciones o para agregar contexto a un cálculo . Pero también le permiten iterar internamente la lógica a través de ellos. Puede basarse en cualquier contexto en el que los haya colocado.
Gran parte del poder de estas tablas virtuales surge cuando las utiliza con varias funciones de iteración. Debe comprender realmente el "contexto" y cómo la combinación de estas medidas DAX funcionan juntas dentro de ese contexto particular.
Las funciones de iteración en DAX generalmente tienen una X al final, como SUMX , AVERAGEX y muchos otros derivados de las fórmulas X en LuckyTemplates.
La mejor manera de explicar el concepto que quiero discutir en este tutorial es a través de algunos ejemplos usando este modelo simple.
Desde mi tabla Ubicaciones , tengo una relación que desciende hasta mi tabla Ventas . Esto puede parecer tan genérico y es posible que se pregunte cómo puede aplicar este tipo de modelo.
Bueno, en realidad, todos los datos son muy similares. Solo es cuestión de configurar bien tu modelo y configurarlo de forma intuitiva . Si necesita comprender un poco mejor su modelado, puede consultar nuestro curso de modelado avanzado .
Veamos esta lógica simple en la que puede calcular las ventas totales usando .
En general, es solo calcular nuestras ventas para cada región. En este caso, no tenemos otros filtros en nuestros datos. Entonces, es básicamente desde el principio de los tiempos junto con las Ventas totales .
Sin embargo, quiero mostrarles algo un poco más exclusivo en términos de cómo podemos iterar la lógica a través de estas tablas virtuales.
Uso de FILTER para tablas virtuales
Puede haber momentos en los que desee comenzar a calcular cosas diferentes. Lo que podría querer hacer es calcular las ventas de lo que puede clasificarse como un buen cliente .
Tratemos de analizar esta fórmula particular e identificar lo que nos permite hacer.
Entonces, verá aquí que estamos usando SUMX .
Pero, con esta parte de la medida, estamos alterando la tabla virtual que estamos usando como contexto para el cálculo .
Por lo tanto, siempre debe recordar que cualquier cálculo en LuckyTemplates se realiza en un proceso de dos pasos. Primero está el procesamiento del contexto inicial. Y luego, está el cálculo de la medida. Definitivamente es una versión muy simplificada.
Echemos un vistazo a este primer resultado donde el primer filtro es Connecticut . Obviamente, ya se está filtrando algo detrás del modelo.
Además, la lógica de procedimiento dentro de la función crea una tabla virtual de todos los clientes que han comprado en Connecticut .
Básicamente es solo una tabla de una columna de todos los clientes que han comprado en Connecticut .
Luego, dentro de esta tabla virtual en particular, estamos ejecutando una lógica que filtrará a cada cliente que haya comprado menos de 2000. Esto solo retendrá a aquellos clientes que hayan comprado más de 2000.
En base a esta nueva tabla, finalmente vamos a calcular las Ventas Totales .
Y eso es lo que SUMX nos permite hacer. Es realmente una técnica que con suerte puede implementar de varias maneras.
Alteración de la lógica de las tablas virtuales
Además, puede modificar la lógica existente. Como puede ver, este número es actualmente estático. Pero puedes hacerlo dinámico y puedes autogenerarlo.
En este caso, simplemente lo cambié a 5,000. Y debido a que usamos SUMX , esta tabla solo buscará aquellos buenos clientes que hayan comprado más de 5000 . Y luego contará las ventas de esos buenos clientes.
Uso de SUMMARIZE para tablas virtuales
Aquí tienes otro ejemplo que puedes llevar a otro nivel.
La tabla dentro de la función FILTRO puede ser muy diferente y puede ser una tabla más detallada. En este caso, estamos analizando tanto las Ventas de los Buenos Clientes como los Productos que compran .
Entonces, esta ya no será una tabla virtual de una columna. Esta será una tabla virtual de dos columnas de cada cliente y cada producto que compraron en Connecticut . Y luego, cambia a medida que desciende a diferentes regiones o diferentes estados.
Con la función filtraremos todos los clientes y las ventas de productos que sean inferiores a 2000. Luego, solo conservaremos los que estén por encima de 2000 .
Después de eso, calcularemos las Ventas totales utilizando SUMX .
Y así es como puede iterar internamente algo de lógica a través de una tabla virtual y evaluar los resultados particulares.
Uso de CALCULATE como filtro
Además, puede calcular el mismo escenario de otra manera y aún así obtendrá el mismo resultado. Primero volvamos esto a 5000 .
Ahora, puede ver aquí que los resultados en estas dos columnas son en realidad los mismos ahora. Pero lo he calculado de una manera ligeramente diferente.
Para la medida Good Customer Sales , usamos la función en lugar de SUMX .
La función CALCULAR le permite hacer algo similar con nuestro escenario SUMX anterior . Pero, en lugar de ser una función de iteración (como con SUMX ), en realidad se usa como un filtro . Se utilizó para cambiar el contexto del cálculo dentro de CALCULATE.
Y esa es otra forma de cómo puede aplicar esta lógica en sus modelos de datos.
Este es un muy buen tutorial para revisar en profundidad. Comprender este concepto de lógica iterativa a través de una tabla virtual le brindará infinitas posibilidades analíticas que puede lograr en cualquier dato.
Si puede entender esto bien, comenzará a ver que realmente no hay nada desde una perspectiva analítica que no pueda descubrir cuando utiliza muy bien las medidas de LuckyTemplates y DAX.
Si desea obtener más información sobre cómo combinar varias funciones DAX para lograr un efecto óptimo, consulte el módulo en .