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.


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