Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
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.
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.
La tabla debe mostrar la anterior con una diferencia de 7 días entre las fechas.
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.
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 .
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.
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.
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 .
Luego, cambie el nombre del DisDate duplicado y haga clic en Cerrar y aplicar.
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.
Luego, convierta la visualización en una segmentación.
Después de eso, cambie el formato de la segmentación a List . La visualización se verá así.
A continuación, duplique la segmentación y cambie el campo de datos con la columna Fecha de la tabla Fechas.
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.
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.
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.
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.
A continuación, cree otra variable que recupere la fecha de desconexión seleccionada en la segmentación.
Una vez hecho esto, verá el valor seleccionado en la segmentación DisDate que se muestra en la columna Medida.
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.
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 .
A continuación, puede ver una tabla que contiene siete valores a partir del 5 de mayo y retrocede con incrementos de siete.
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.
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.
Después de eso, verá que los valores finalizan el 31 de marzo.
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.
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 .
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 .
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í.
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.
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.
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.
Ahora verá que los valores dentro de la columna Medida no se repiten.
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.
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.
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.
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.
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 .
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.
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 .
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 .
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.
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 .
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.
Después de todo eso, verá la fecha que falta, 17 de marzo, en la matriz.
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.
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
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.
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.
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.
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.
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.
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.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
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