Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
Le mostraré cómo usar la función de compensación en LuckyTemplates . Es una de las herramientas más dinámicas que puede usar, especialmente en sus tablas de fechas.
Una vez que domine cómo aplicarlo en sus proyectos de inteligencia de tiempo, podrá obtener información más detallada que no obtendrá con ningún otro enfoque. Puede ver el video completo de este tutorial en la parte inferior de este blog.
Tabla de contenido
Comprender la mecánica de la función de compensación
Comenzaré mostrándole la mecánica de la función de compensación.
Las compensaciones muestran la diferencia entre la fecha de hoy y las otras fechas en sus datos.
Como puede ver en mi tabla de fechas a continuación, me concentré en Trimestre y año para poder ver el movimiento de datos real.
La fila morada muestra el período actual . Tenga en cuenta que el período actual siempre tiene un valor de compensación de 0 .
Encima de eso, en amarillo, muestra todos los datos provenientes del pasado . Verá que las cifras aquí son 0 o menos de 0, representadas por los datos negativos .
Esto significa que para los datos del futuro , estos mostrarán valores positivos . Según la granularidad de la columna, también puede contener un 0 .
Entonces, ¿qué hace que las compensaciones sean poderosas?
Las compensaciones pueden ser números secuenciales que representan la diferencia entre diferentes datos en la tabla . Pero lo que hace que las compensaciones sean geniales es que no tienen límites .
Por ejemplo, los trimestres van del 1 al 4, lo que representa los 4 trimestres de un año. Los meses van del 1 al 12, mientras que las semanas pueden ir del 1 al 52 o 53, según el año. Pero una vez que llego al último número, tengo que empezar de nuevo.
Este no es el caso de las compensaciones. Cuando se trata de compensaciones, siempre mostrarán una posición relativa a la fecha actual y la otra fecha a la que se hace referencia .
Entonces, cada vez que se actualiza la tabla de fechas, también se actualiza la lógica que hace que las compensaciones funcionen. Esto significa que también se mostrará un valor actualizado en la tabla de fechas.
Ejemplo de una columna de compensación de semana
Para darle una idea más clara de cómo funciona la función de compensación, le daré un ejemplo de cómo se aplica.
En mis datos de muestra, muestra la fecha de hoy como el 24 de abril de 2020 .
Nuevamente, los principios de compensación establecen que el período actual está representado por 0, los datos futuros están representados por valores positivos y los períodos pasados están representados por números negativos .
También tengo una segmentación en mi página que contiene el valor WeekOffset. Actualmente, muestra todos los valores de -53 a 0, donde 0 representa la semana actual .
El 24 de abril (que es hoy) cae en la semana 17 .
Esta tabla de fechas extendida solo cubre los números de semana ISO . Esto significa que las semanas comienzan en lunes . Esto también significa que una semana siempre contendrá 7 días .
Pero hay muchos requisitos de semana personalizados que no siguen la misma lógica. Puede obtener más información sobre estos casos en varios temas tratados en el foro de LuckyTemplates.
Además, podría considerar usar Mes y año en lugar de Semana y año si eso se aplica mejor a su situación.
Volviendo a los datos de muestra, es posible que haya notado que los valores de WeekOffset están en un rango de números secuenciales perfecto .
Esto se debe a que comparten la misma granularidad en todo momento . No hay valores duplicados ni valores faltantes.
Por supuesto, la medida de Ventas totales utilizada aquí se realiza de la manera habitual, con solo un regular sobre Ventas para la Cantidad multiplicada por el Precio . Luego, todo se agrega para obtener un valor semanal.
Pero, ¿y si solo quiero ver las últimas 4 semanas de ventas?
Solo tengo que cambiar mi rebanador en un rango de -3 a 0 .
Ahora, mi tabla solo muestra las últimas cuatro semanas de ventas.
Entonces, a medida que me muevo en el tiempo, mi tabla de fechas se actualiza. Lo mismo sucede si se cargan nuevos resultados de ventas en la tabla de hechos.
Uso de compensaciones en DAX
Esta vez, le mostraré cómo se puede usar la función de compensación en medidas DAX.
Tengo una tabla con Week & Year y Total Sales .
Entonces, si quiero calcular las ventas de la semana anterior sin compensaciones, primero tendría que extraer cuál es el número de CurrWeek y luego verificar cuál es el valor de CurrYear .
Si necesito saltarme el límite de un año, tendré que calcular cuál es el número de semana para ese último año.
A partir de ahí, usaría SUMX como una función de iteración en la tabla de fechas. También tendría que verificar si CurrWeek es la semana número 1 .
Si no es la semana 1, solo necesito restar 1 del valor CurrWeek para CurrYear . Después de eso, finalmente se pueden resumir las Ventas totales .
Mirando la tabla a continuación, ahora puede ver que todos los valores están perfectamente agregados. Los valores que aparecen en Ventas totales simplemente se transfieren a la semana siguiente.
Incluso si supero el límite de un año de 2017 a 2018, el patrón no se rompe. Las Ventas Totales de la última semana de 2017 siguen perfectamente calculadas para la semana número 1 de 2018.
Esta vez, voy a hacer el mismo cálculo, pero con las compensaciones de la tabla de fechas aplicadas.
Así es como se ve esa medida cuando uso compensaciones.
Entonces, para obtener el valor de PrevWeek , solo necesito hacer referencia al WeekOffset seleccionado y restar 1.
Luego, usaré la función para Ventas totales en las fechas donde WeekOffset es igual al valor de PrevWeek .
Mirando los resultados, los resultados parecen ser perfectos, incluso en la transición de 2017 a 2018.
El tema, sin embargo, está en el Total . Evidentemente, este no es el valor correcto.
Así es como voy a arreglar eso.
Primero, tenga en cuenta que la columna Semana y año está en orden ascendente .
Voy a cambiar eso y clasificar la columna en orden descendente , con 2020 en la parte superior.
Debido a que no hay contexto proveniente de Week & Year , no identifica el valor de compensación de la semana actual pero aún resta 1 . Pero lo que puedo hacer es aplicar un total acumulativo para ajustar el total .
Así quedará la medida:
El comienzo del compás no cambia. Es exactamente igual que la medida anterior que apliqué.
Pero como necesito usar un patrón similar a los totales acumulativos, tengo que usar la función CALCULAR en la Primera Semana sobre TODAS las Fechas con 1 restado de ella.
También tengo que identificar el valor MAX WeekOffset de TODAS LAS fechas SELECCIONADAS y restarle uno también.
Luego, usaré la función CALCULAR nuevamente para las Ventas totales . Usaré la función para incluir TODAS las fechas . El valor de WeekOffset debe ser mayor o igual que FirstWeek y menor o igual que LastWeek .
De nuevo, esto sigue el patrón básico de los totales acumulativos.
Luego puedo proceder a verificar el total general usando los patrones .
Entonces , SI la semana y el año ISINSCOPE , espero que los resultados muestren las LWSales . Pero si no es así, espero que aparezca el LWTotal .
Entonces, si vuelvo a mi mesa, ahora mostrará el total correcto.
Compensaciones para semanas específicas
Permítanme volver al ejemplo que usé anteriormente donde filtré los datos para mostrar solo las últimas cuatro semanas.
Si entro en la medida, puedo obtener los mismos resultados usando compensaciones. Así es como se vería.
Solo tenía que identificar el valor WeekOffset actual para el contexto proveniente de las filas.
Una vez que tenga eso, puedo aplicar la función CALCULAR en las Ventas totales de TODAS las fechas donde WeekOffset es mayor o igual que ThisWeek menos 3, o menor o igual que el valor de ThisWeek .
Esto devuelve exactamente el mismo valor que el ejemplo que estoy tratando de replicar.
Totales acumulativos basados en resultados promedio mensuales en LuckyTemplates
Normalización de datos en LuckyTemplates para resultados de diferentes días
Cree una tabla de fechas completa en LuckyTemplates realmente rápido
Conclusión
Los ejemplos que le mostré arriba demuestran cómo son realmente las compensaciones dinámicas. Puede usarlos en filtros, sectores e incluso en cálculos DAX.
Las compensaciones también se pueden usar en tablas de fechas extendidas para semanas, meses, trimestres, años y años fiscales. Brindan mucha flexibilidad y pueden ayudarlo fácilmente a obtener los resultados que desea.
Simplemente continúe jugando con las compensaciones y vea qué otros usos puede tener para ellas. También puede consultar el para ver otros casos en los que la función de compensación resultó ser útil.
Mis mejores deseos,
Toronjil
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