Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

La creación de un calendario de días festivos de LuckyTemplates es crucial para muchos cálculos de inteligencia de tiempo. En este tutorial, le mostraré cómo calcular fechas de vacaciones específicas utilizando medidas DAX. Puedes ver el video completo de este tutorial en la parte inferior de este blog.

Este ejemplo provino de una de las iniciativas llamada Problema de la semana, donde cada mes tomamos un problema DAX o Power Query del mundo real y lo desglosamos en detalle.

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Usé una técnica llamada Depuración de pato de goma. Por lo general, se usa para la depuración, pero creo que también es muy valioso para generar el marco inicial que usará para resolver un problema complejo como en LuckyTemplates.

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Básicamente se trata de usar un patito de goma o una persona con la que hablas y dices en voz alta la solución que estás imaginando y desarrollas un plan sobre cómo vas a atacar el problema.

El mero acto de expresar que a menudo te ayuda a resolver el problema. En algunos casos, en una situación de depuración, te hace darte cuenta de lo que estás haciendo, si tiene sentido y te ayuda a encontrar una manera de solucionarlo abordando el problema.

A continuación se muestra el problema DAX del mundo real para este desafío en particular. Aquí tenemos una tabla con 10 días festivos con el mes y el día. Algunos de los días son días específicos y algunos de ellos son relativos. Tenemos que llegar a la fecha de vacaciones y las medidas Celebrated On.

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Para hacer eso, necesitamos analizar el campo Día en dos componentes. El primer análisis es la ocurrencia (tercero, último, primero, segundo) y el segundo análisis es el día (lunes, jueves). Estas son dos piezas críticas de información que necesitamos separar.

Tabla de contenido

Cálculo de fechas específicas en el calendario de vacaciones de LuckyTemplates

Normalmente, haría esto en Power Query solo a través de una división por delimitadores, pero como lo estamos haciendo con DAX, tendremos que hacerlo de otra manera. (Tenga en cuenta que no se nos permite usar Power Query en este desafío).

Necesitamos calcular las fechas mínimas y máximas para el año, mes y día especificados. En este caso, por ejemplo, podemos decir para 2027, enero y el tercer lunes. Una vez que obtenemos ese día mínimo para un mes determinado, podemos agregarle siete días para llegar al segundo lunes, 14 días para llegar al tercer lunes y 21 días para llegar al cuarto lunes.

Otra técnica que quiero compartir con ustedes relacionada con este desafío es lo que llamo Construir en Partes al crear una medida. Encuentro esto realmente útil en una medida compleja en la que si tiene muchas variables, tiene muchos componentes para construir.

Lo que siempre hago es tener una variable de resultado ( Resultado VAR ) al final y mi última declaración que es simplemente Devolver resultado . Esto hace que sea muy fácil volver atrás y probar las variables que he creado. Puedo revisar y rastrear y resolverlo en partes.

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

La última técnica que quiero compartir con ustedes es lo que llamo Búsqueda de Funciones Desconocidas. Por ejemplo, si no sé qué función usar para este desafío del calendario de días festivos de LuckyTemplates, iré a la pestaña Herramientas externas e iré a la Guía de SQLBI DAX .

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Tiene una característica muy buena aquí llamada Grupos (en el lado izquierdo), donde las funciones se agrupan por tipo. Entonces, si estoy pensando en analizar una cadena de texto, por ejemplo, puedo buscar funciones de texto .

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Proporciona todas las funciones de texto que tiene DAX. Esta es una excelente manera de encontrar rápidamente la función DAX que necesita para una medida.

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Medidas DAX para el calendario de vacaciones de LuckyTemplates

Para la medida de fecha de vacaciones , creé esta serie de s , recopilando las fechas de la segmentación, el mes de vacaciones, el número de mes y el día de la tabla de fechas.  

Luego, tengo la duración de ese día seleccionado usando la función de duración ( ). En este caso, devolvió texto, así que tuve que envolverlo en para cambiar ese texto a un valor numérico.

Y luego, usé la función para la posición del espacio y lo envolví en VALOR, pero diciendo, busque el espacio dentro del día seleccionado, comenzando en la posición uno y devolviendo cero si no encuentro esa cadena allí.

CharsBeforeSpace (caracteres antes del espacio) es solo SpacePosition. El número de CharsAfterSpace (caracteres después del espacio) es solo la longitud ( SelDayLen ) de la cadena menos la posición del espacio. A partir de eso, podemos hacer FirstParse y SecondParse .

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

En este punto, ahora tenemos dos variables, una que representa la ocurrencia y otra que representa el día.

Y luego, tenemos un básico ( Calc1st ) donde quitamos el filtro de la tabla de Fechas. Luego, aplicamos los filtros del año seleccionado de la segmentación, el nombre del mes y luego el día de la semana del segundo análisis que hicimos.

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Del mismo modo, hacemos lo mismo para el último cálculo ( VAR CalcLast ).

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Una vez que tenemos todo eso, pasa a una instrucción y la última parte es el resultado RETURN.

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX

Por último, quiero guiarlo a través de la medida Celebrated On como un bono adicional del desafío. simple donde tomé la fecha de vacaciones que calculamos en la medida anterior, fui a la tabla Fechas y busqué el nombre del día de la semana. Y luego hice una declaración SWITCH donde tomamos ese resultado de DayLookup. Y finalmente, lo envuelvo con RETURN DateAdjust .

Calendario de días festivos de LuckyTemplates: calcular la fecha con DAX


Creación de una tabla de calendario para días festivos en LuckyTemplates
Calendarios personalizados de LuckyTemplates: Cálculo del cambio mes a mes: 445 Calendarios
Comparación de tiempo para tablas de fechas no estándar en LuckyTemplates

Conclusión

Este desafío del calendario de vacaciones de LuckyTemplates, como mencioné, es un problema del mundo real. La solución que se me ocurrió es bastante compleja, pero realmente efectiva para calcular las fechas específicas de vacaciones.

Espero que hayas aprendido mucho con este tutorial. Consulte el tutorial de vídeo completo para obtener una explicación más detallada de las medidas DAX.

¡Salud!


Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Cómo guardar y cargar un archivo RDS en R

Cómo guardar y cargar un archivo RDS en R

Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.

Introducción al contexto de filtro en LuckyTemplates

Introducción al contexto de filtro en LuckyTemplates

En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.

Ideas de materialización para cachés de datos en DAX Studio

Ideas de materialización para cachés de datos en DAX Studio

Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.

Informes comerciales con LuckyTemplates

Informes comerciales con LuckyTemplates

Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber