Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Este tutorial tratará sobre cómo elegir o filtrar una fecha específica en sus informes de datos de LuckyTemplates . El material utilizado en este tutorial proviene del . Aprenderá cómo resolver el problema y comprenderá los métodos utilizados. Puede ver el video completo de este tutorial en la parte inferior de este blog.

Tabla de contenido

Comprender el informe de datos en LuckyTemplates

Este es el informe de datos de muestra que se utilizará. Consta de una mesa visual y dos cortadoras.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

El objetivo es tener una selección de fecha sobre la columna Fecha en la segmentación. Significa que una vez que se selecciona una fecha en la segmentación, la visualización de la tabla mostrará los días anteriores con un intervalo de 7 días. En este ejemplo, los datos seleccionados en la segmentación de fecha son el 12 de mayo de 2007.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

La tabla debe mostrar la anterior con una diferencia de 7 días entre las fechas.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

También debe crear un parámetro hipotético para mostrar dinámicamente el número de fechas en función de la selección. Si selecciona 3 , la tabla visual solo debe mostrar 3 fechas.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Recrear la tabla y las visualizaciones

El primer paso es crear un parámetro what if . Dentro del escritorio de LuckyTemplates, vaya a la pestaña Modelado y seleccione Nuevo parámetro .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Agregue un nombre al parámetro y establezca el Tipo de datos en Número entero . Luego, establezca los valores mínimo, máximo, incremental y predeterminado como se ve en la imagen a continuación. Agregue la segmentación a la página marcando la casilla.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Después de presionar OK, se generará una segmentación. Convierta la segmentación en una lista haciendo clic en el botón desplegable y seleccionando Lista.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Lo siguiente que debe hacer es crear una tabla de fechas duplicada que se usará como una tabla de fechas desconectada. Vaya al editor de consultas de energía y duplique Fechas .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Luego, cambie el nombre del DisDate duplicado y haga clic en Cerrar y aplicar.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Cargando las tablas de fechas y segmentaciones en LuckyTemplates

Una vez que la tabla duplicada se carga en el modelo de LuckyTemplates, cree una segmentación con la columna de fecha de la tabla de fechas desconectada. Abra la tabla DisDate y arrastre Fecha al lienzo.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Luego, convierta la visualización en una segmentación.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Después de eso, cambie el formato de la segmentación a List . La visualización se verá así.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

A continuación, duplique la segmentación y cambie el campo de datos con la columna Fecha de la tabla Fechas.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Seleccionar una fecha de la segmentación de fechas limitará el número de filas visibles de la tabla Ventas en la matriz. Si selecciona el 14 de marzo de 2005, la matriz solo mostrará esa fecha.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

El resultado y la medida no funcionarán si usa esta configuración. La razón es que incluso antes de que la medida comience a funcionar, el acceso de la matriz ya ha sido filtrado. Para esos valores filtrados, no podrá generar las fechas con intervalos.

Creación de medidas para las segmentaciones de selección

Debe crear una configuración de fechas que no filtre la matriz directamente cuando se coloca una selección sobre una segmentación. El filtrado de la matriz debe venir a través del código DAX y no directamente de los cortadores. Entonces, si selecciona una fecha de la segmentación DisDate, no se producirán cambios en la matriz.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Esto sucede porque la tabla DisDate no tiene relación con la tabla Dates. Por eso la mesa desconectada es fundamental.

Elimine la segmentación con la tabla Fechas y cree la primera medida. La medida recuperará el valor seleccionado de la segmentación Fechas para mostrar. La primera variable que debe crear es ValuesToShow . A continuación, equipararlo con el valor Fechas para mostrar e ingresar RETURN para devolver los valores seleccionados.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Arrastra esa medida a la matriz. Si selecciona 6 de la segmentación Fechas para mostrar, la columna Medida en la matriz también generará 6.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

A continuación, cree otra variable que recupere la fecha de desconexión seleccionada en la segmentación.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Una vez hecho esto, verá el valor seleccionado en la segmentación DisDate que se muestra en la columna Medida.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Crear una tabla calculada

Cree una lista de fechas con intervalos de 7 días a partir de la fecha seleccionada en la segmentación. Luego, asegúrese de que la matriz genere la cantidad de días según la selección de la segmentación Fechas para mostrar. Para hacer esto, primero debe crear una tabla calculada .

La tabla calculada lo ayuda a visualizar cómo se generan las fechas dentro del código DAX. Vaya a la Vista de datos y haga clic en Nueva tabla.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Ingrese la variable SelectedDate y equipare con la función DATE . Luego, ingrese una fecha dentro de los paréntesis. A continuación, cree otra variable que especificará la cantidad de fechas que desea mostrar en la matriz. Ingrese DatesToShow y compárelo con el número de fechas.

Después de eso, cree otra variable que generará una lista de fechas con intervalos de 7 días. Ingrese DatesList y use la función GENERATESERIES . es una función que genera una lista de números pasando varios argumentos.

Para el primer argumento, ingrese SelectedDate – (DatesToShow * 7)  como valor inicial. A continuación, ingrese FechaSeleccionada como el valor final. Para el último argumento, ingrese 7 para el valor de incremento o el intervalo entre fechas. Una vez hecho esto, cierre la función e ingrese RETURN y DateList .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

A continuación, puede ver una tabla que contiene siete valores a partir del 5 de mayo y retrocede con incrementos de siete.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Ahora, notará que creó demasiadas fechas de las que necesita. En el informe de muestra original, la última fecha que se muestra con las mismas fechas para mostrar y fechas seleccionadas fue el 31 de marzo.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Para solucionarlo, puede cambiar el valor de la variable DatesToShow a 5 o restar 1 de 6. En este ejemplo, 1 se resta de 6.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Después de eso, verá que los valores finalizan el 31 de marzo.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Inyectar fechas en el contexto del filtro

A continuación, debe usar e inyectar estas fechas en un contexto de filtro de fecha. También debe calcular el monto de Ventas en el contexto del filtro. Entonces, copie la sintaxis de GENERATESERIES y regrese a su medida.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

En la medida, agregue una nueva variable e ingrese DatesToShow . Luego, equipare esa variable con la sintaxis GENERATESERIES . Cambie las variables dentro de la sintaxis de SelectedDate a DisSelectedDate y DatesToShow a ValuesToShow .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Por último, crea una variable para el resultado. Compáralo con la función CALCULATE sobre Total Sales y DatesToShow para inyectar todas las fechas recibidas de la sintaxis GENERATESERIES en el contexto del filtro. Una vez hecho esto, ingrese Result en la función RETURN .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Ahora, verá que la matriz no mostrará las fechas que solicita el código DAX. Si trae la medida Ventas totales a la matriz, verá que el código devuelve el monto de Ventas en sí.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

El problema con la medida es que la fecha que se creó en la sintaxis GENERATESERIES tiene un linaje de datos con la tabla de fechas desconectada. Esto significa que la tabla Fecha no está conectada a la tabla Ventas. Es por eso que cuando se aplicó la lista de fechas en el contexto del filtro, no incluía la tabla Ventas.

Debe utilizar la función para crear relaciones virtuales y aplicar el contexto de filtro.

Uso de TREATAS para fijar la fecha en LuckyTemplates Matrix

Debe tratar los valores que se recibieron de la sintaxis GENERATESERIES como si fueran parte de la tabla de fechas original. Básicamente, se trata de crear un linaje con la columna Fecha de la tabla Fecha que se encuentra en el modelo de datos.

Entonces, en la variable Resultado, ingrese TRATAMIENTOS después de la tabla Ventas totales y proporcione los argumentos. Para el primer argumento, proporcione la columna o tabla que no tiene la relación. En este caso, se utiliza la columna DatesToShow .

Para el segundo argumento, proporcione la columna a la que desea asignar el linaje de la columna en el primer argumento. En este ejemplo, se utiliza la columna Fecha de la tabla Fechas.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Sin embargo, incluso con las correcciones en el código, la columna Medida en la matriz aún no mostrará los valores correctos al usar la segmentación. También puede notar que los valores dentro de la columna se repiten.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

El problema radica en la forma en que se escribió el código. TREATAS aplica todos los valores en el contexto del filtro y anula el contexto del filtro existente en la fecha seleccionada con todos los valores que se han recuperado de la función GENERATESERIES .

Uso de la función KEEPFILTERS sobre TRATAMIENTOS

Para asegurarse de que el filtro se inyecte en el filtro sin anular el contexto del filtro existente, debe usar la función KEEPFILTERS . cambia la semántica de filtrado de CALCULATE .

Ingrese KEEPFILTERS antes de la función TREATAS y confirme la medida.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Ahora verá que los valores dentro de la columna Medida no se repiten.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Si expande los meses de mayo y abril, verá que los valores de la columna Medida son iguales a los valores de la columna Ventas totales.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Elimine la medida Ventas totales en la matriz y seleccione un número en la segmentación Fechas para mostrar. Luego verá el número equivalente de fechas que se muestran en la matriz.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Corrección de problemas de fechas faltantes en la matriz de LuckyTemplates

Otro problema con este informe es que cuando selecciona 8 en la segmentación DatesToShow , la matriz no cambia.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Si selecciona 9 en la segmentación, la matriz solo muestra 8 fechas. También notará que falta el 17 de marzo en la lista de fechas.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

El motivo es que en algunos días de la tabla Fecha no hay transacciones coincidentes en la tabla Ventas. Entonces la medida devuelve un espacio en blanco para esas fechas. Dado que regresa en blanco, el código que se ejecuta detrás de la matriz elimina las filas en blanco del resultado.

Luego, LuckyTemplates usa el resultado devuelto para completar la matriz. Entonces, dado que algunos días regresan en blanco, no puede ver las Ventas y las entradas de esos días en la matriz.

Si desea mostrar algo para los días sin ventas en sus datos, vuelva a la medida y elimine la sintaxis CALCULATE .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Uso de DAX para resolver la fecha que falta en LuckyTemplates

Cree un linaje de datos escribiendo TREATAS sobre las columnas DatesToShow y Date de la tabla Dates . Luego, verifique si todas las fechas devueltas por la función TREATAS están incluidas en el contexto del filtro.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

A partir de ahí, divida la ejecución por múltiples variables. Cambie el nombre de la variable de Result a CreateDataLineage para mostrar que almacena el resultado de TREATAS .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Luego, cree otra variable que contendrá todas las fechas que son visibles en el contexto del filtro proveniente de la matriz. Ingrese VisibleDate como el nombre de la variable y use sobre la columna Fecha .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Lo siguiente que debe hacer es crear una columna sobre el resultado de la función TRATAS que contendría el monto de Ventas. Escriba DatesWithSales como el nombre de la variable y use sobre la variable CreateDataLineage .

Dentro de la función, cree una nueva columna y asígnele el nombre Importe de ventas con la medida Ventas totales en el contexto de la fila para iniciar la transición de contexto.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Después de eso, cree una variable que verifique si todas las fechas almacenadas en la variable DatesWithSales están incluidas en el contexto del filtro. Ingrese IsDateInFilterContext como el nombre de la variable y use la función .

A partir de ahí, escriba DatesWithSales como primer argumento de la función. A continuación, ingrese Dates[Date] IN VisibleDate como segundo argumento para verificar si la fecha contenida en la tabla DatesWithSales está incluida en la variable VisibleDate .

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

La última variable que necesita crear es Result . Utilice la función sobre la variable IsDateInFilterContext . Escriba [@Cantidad de ventas] + 0 para incluir los días que no se incluyeron anteriormente.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Después de todo eso, verá la fecha que falta, 17 de marzo, en la matriz.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Usando +0 en la medida original

Los pasos anteriores le mostraron cómo crear una medida para incluir todas las fechas que no tienen transacciones en la tabla de hechos. Ahora, si usa el + 0 en la medida original que creó, los valores en la columna Medida serán todos 0.

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

Elija una fecha específica en LuckyTemplates usando el cálculo DAX

El motivo es que la variable Resultado contiene un espacio en blanco o un importe de Ventas. Entonces, si agrega 0, está reemplazando el espacio en blanco con 0. Recuerde que las columnas resumidas eliminan las filas en blanco del conjunto de datos. Devuélvalos a LuckyTemplates para que solo puedan mostrar filas limitadas y no espacios en blanco.

Pero como se agrega 0, la columna de resumen se ve obligada a mantener las filas. Luego devuelve una tabla que contiene todas las fechas que existen en la tabla Fechas y muestra cero donde corresponde o cuando está en blanco.

Esta es la razón por la que necesita reescribir la medida de manera que solo necesite agregar 0 a las fechas que están visibles en el contexto del filtro y que están incluidas en la variable DatesToShow .


Conectores de Power Automate: número, texto y fecha Hora
Tabla de fecha extendida Función Power Query M
Power Query LuckyTemplates | Crear nuevos registros basados ​​en campos de fecha

Conclusión

Para crear un informe de datos que le permita seleccionar una fecha específica en una matriz de LuckyTemplates , necesita usar tablas calculadas y funciones DAX . Las funciones y medidas DAX deben escribirse de manera que puedan obtener resultados fácilmente.


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.