Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

El uso de variables es una excelente manera de asegurarse de que sus resultados se suman de la manera en que deberían al final de sus medidas. Las variables son una parte crucial de la escritura y resolución de fórmulas dentro de LuckyTemplates y le mostraré por qué. Puede ver el video completo de este tutorial en la parte inferior de este blog.

Tabla de contenido

Datos de muestra visualizados en diagrama de Gantt

Para mostrar la importancia de usar variables en sus medidas DAX, usaré esta fórmula razonablemente compleja como ejemplo. Usé esto para un evento reciente solo para miembros de LuckyTemplates sobre gestión de proyectos.

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

Para visualizar los datos, creé este diagrama de Gantt único. Verá que hay mucha lógica incrustada en él, lo que me permite codificar con colores los datos que muestran información como cuándo comenzó un proyecto, cuándo finalizó, etc.

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

Hagamos una revisión rápida de los datos detrás de este gráfico.

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

Verá que tengo la fecha de inicio y finalización de cada tarea en un proyecto en particular. Lo que agrega complejidad a la fórmula es el hecho de que también tengo una columna para %Finalización.

¿Cómo visualizo esa tasa de finalización en mi gráfico? Esto se muestra mostrando las tareas en vivo actuales detalladas en función de las diferentes tareas en vivo para cada categoría.

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

También tuve que usar una cantidad de colores diferentes en mi gráfico para diferentes categorías de tareas en cada proyecto diferente, así que terminé usando el formato condicional dentro de mi matriz para que todo eso sucediera. 

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

Ahora, cuando navego por el foro de soporte de LuckyTemplates, a menudo veo a los usuarios aplicando fórmulas muy complejas cuando manejan datos como este. La verdad es que muchos de ellos deberían dividirse en variables.

Uso de variables en fórmulas complejas

Independientemente de lo que esté tratando de calcular, solo quiero mostrarle la configuración a la que debe apuntar si no está usando tantas variables. Quiero que vea por qué necesita usar variables aquí y cómo las he usado para hacer que esto funcione.

De hecho, puede hacer referencia a variables dentro de variables. Esto significa que puede acumular una gran cantidad de su cálculo antes de ingresar cualquier cosa en RETORNO. 

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

Es importante recordar que cada resultado se calcula individualmente en LuckyTemplates. Por lo tanto, también debe considerar el contexto para cada resultado individual.

Verá que usé VAR para CurrentDay, ProjectDays y DaysFromStartDate. También tomé DaysFromEndDate haciendo referencia a DaysFromStartDate y ProjectDays.

Después de eso, hice más trabajo de lógica en ProgressColor y CompletionPercent.

Otra cosa interesante acerca de las variables es que también puede incrustar alguna lógica VERDADERA o FALSA. Normalmente, vería una larga lista de declaraciones IF aquí en la fórmula principal. Pero esta vez, elegí colocar esa lógica VERDADERO o FALSO dentro del VAR usando ToCompletionLogic y MAX Días mayores o iguales a MAX Días menores o iguales a, y así sucesivamente.

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

También verá que ingresé mis declaraciones IF en mi fórmula SWITCH aquí, que es un enfoque más eficiente.

Las declaraciones IF ahora son más fáciles de entender porque la lógica solo necesita escribirse una vez en las variables en lugar de ser referencias para cada declaración en esta lista.

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

Uso de ramificaciones de variables frente a medidas

Tal vez se pregunte por qué no usé la bifurcación de medidas en este caso, sabiendo que también lo he mencionado varias veces antes.

Es porque gran parte de la lógica utilizada aquí es puramente solo para este cálculo específico. No es reutilizable en el resto de mi modelo.

Entonces, en este caso particular, es mejor simplemente ponerlo como una variable dentro de una fórmula donde realmente lo usa, en lugar de que ocupe mucho espacio dentro de sus grupos de medida. 

Debido a que es local solo para este cálculo, decidí colocar todas estas cosas dentro de las variables y crear una fórmula única que lo resuelva todo. 

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX

Es importante tener en cuenta que no construí esta fórmula desde cero. Originalmente tenía todos estos separados en diferentes medidas. Eso es para asegurarme de que estaba calculando los resultados correctos en cada contexto diferente. A partir de ahí, lo limpié todo construyendo esta medida en particular.

Entonces, en términos de sintaxis, tiene sus variables en la parte superior y luego la función RETORNO para ingresar su lógica aquí. 

Por qué usar variables de LuckyTemplates es una mejor manera de escribir medidas DAX


Uso de variables en LuckyTemplates: un ejemplo detallado
Técnicas de análisis de escenarios Uso de múltiples parámetros "Qué pasaría si"
Primeros pasos con el parámetro "Qué pasaría si" en LuckyTemplates

Conclusión

Ahora que ve la aplicación que usé, espero que entienda por qué prefiero usar variables en casos como estos.

Una cosa que me gustaría enfatizar aquí es la importancia de comprender cada variable individual antes de crear una fórmula compleja como la que hice.

También veo esto mucho en nuestro foro de soporte. Van directamente a la medida larga y se preguntan por qué los resultados no se muestran correctamente. Realmente tienes que entender cómo se calcula cada resultado individual. Una vez que los coloca a todos en la medida final única, no hay forma de auditar los resultados individuales.

Una vez que tenga una buena comprensión de cómo funciona, finalmente podrá crear fórmulas más avanzadas usando variables sin tener más problemas al final.

Mis mejores deseos


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.