Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
Siempre que haya escuchado una explicación sobre cómo usar las variables DAX de LuckyTemplates, es posible que haya escuchado la frase "las variables son constantes". Parece simple, pero hay una buena cantidad de matices y complejidad en estas palabras. En este blog, lo guiaré a través de lo que significa esta frase y las implicaciones de cómo se calculan sus medidas. Comprender estos conceptos es esencial para garantizar que sus medidas produzcan los resultados deseados. Puedes ver el video completo de este tutorial en la parte inferior de este blog.
Una variable dentro de DAX puede ser realmente cualquier expresión DAX válida. Puede ser un valor, un cálculo, una medida o una variable que represente una tabla, otra variable o alguna combinación de esas cosas.
Hay dos partes en una variable. Ahí está la declaración donde inicializas la variable; le das un nombre y luego un valor. La otra es la instrucción RETURN , que luego llama al menos a una de las variables que declara. No es como un paréntesis donde necesita tener una declaración RETURN para cada variable, pero necesita tener al menos una declaración RETURN si declaró alguna variable.
La clave aquí es que, como dije antes, las variables son constantes. Lo que eso significa es que una vez que las variables se han asignado a un valor, ese valor no puede cambiar antes de la instrucción RETURN .
Tabla de contenido
Aplicación de variables DAX de LuckyTemplates en medidas
Echemos un vistazo a un ejemplo simple en el que tengo países y ventas totales. La medida Ventas totales es solo nuestra medida más básica, que es la de Ventas de línea dentro de la tabla Ventas.
Digamos que queremos obtener las Ventas totales del año 2020. En este conjunto de datos, tenemos las ventas de 2019, 2000 y 2021. Para obtener las ventas de 2020, debemos aplicar una condición de filtro muy simple: que es . Entonces, cambiamos nuestro contexto de filtro. Tenemos nuestra medida de Ventas totales, y luego nuestro año es 2020.
Si colocamos esa medida en la tabla, obtenemos exactamente lo que esperamos, que es el número correcto para 2020.
Ahora, si queremos aplicar variables a esto, aquí hay una versión ligeramente revisada de la medida anterior, en la que creé una variable llamada TotSales y la configuré igual a nuestra medida Total Sales.
Si lo pensamos desde el punto de vista de la sustitución algebraica, si simplemente sustituimos lo que anteriormente era nuestra medida de Ventas totales aquí por TotSales, que es igual a esa medida de Ventas totales, pensará que podría ser lo mismo y producir lo mismo. resultado. Pero si echamos un vistazo y colocamos esa medida en nuestra tabla, veremos que no produce el mismo resultado.
Se declara la variable TotSales, que obtiene el valor de las ventas totales. Digamos que estamos en la fila de Moldavia, y esa variable obtiene el valor de 2,35 millones. Ahora, recuerde que el valor no puede cambiar hasta que se llame a la instrucción RETURN. Entonces, cuando bajamos para calcular nuestra medida en la variable RESULTADO , lo que tenemos es TotSales, que es una constante de 2,35 millones.
Y luego, le aplicamos nuestro contexto de filtro, Dates[Year] es igual a 2020 , pero no importa porque esa constante no puede cambiar. Por lo tanto, podríamos decir que Dates[Year] es igual a 2019, 2021, y así sucesivamente, seguirán siendo los mismos 2,35 millones porque TotSales ahora está bloqueado como una constante hasta RETURN .
Y cuando regresa, pasamos a la siguiente fila, y la variable toma el valor de Holanda (4,4 millones). El proceso se repite, bloqueándolo como una constante hasta la instrucción RETURN. Lo que obtenemos es exactamente lo que tenemos en la medida Ventas totales, no en la medida que se filtra hasta 2020.
Entonces, podrías estar pensando que eso en realidad no parece muy útil. En este contexto, no lo es. En realidad, este es un error común cuando las personas comienzan a usar variables inicialmente . Pusieron la variable en la primera parte de la expresión de la sentencia CALCULATE. Por lo general, eso no dará el resultado que están buscando porque lo bloquea como un valor constante.
Uso de variables DAX de LuckyTemplates dentro de los iteradores
Las variables realmente brillan cuando las colocas dentro de los iteradores. Voy a hablarte de este caso, que es uno de valor anterior. Estamos buscando una fecha, y luego un valor anterior sujeto a una serie de condiciones.
Recuerde que la forma en que solía hacer esto antes de que las variables llegaran a DAX era a través de una función llamada . Pero ahora, las variables realmente funcionan muy bien en este contexto. Con las variables, se recomienda encarecidamente no volver a usar esa función ANTERIOR.
Entonces, echemos un vistazo a un ejemplo más complejo, donde tenemos variables en la parte del iterador en lugar de en la parte de la expresión. A continuación se muestra un caso de una pregunta que surgió en el en el que el miembro quería ver cada fecha dentro de un rango y luego encontrar la primera fecha anterior que no fuera un fin de semana o un día festivo.
Quiero centrarme particularmente en el martes 15 de octubre como el principal ejemplo. El resultado deseado era mirar esa fecha. El lunes era el Día de la Raza, por lo que era feriado, luego los siguientes días anteriores eran el domingo y el sábado. Entonces, la fecha que queríamos obtener era el 11 de octubre, que era el viernes.
Si observa la columna Día anterior/Sin fin de semana/Sin feriado, el martes fue el 11. Lo mismo sucedió con los lunes, domingos y sábados. Eso es lo que queremos obtener como resultado.
Al lado de la tabla anterior está la medida que usamos para este caso. Declaramos una variable que era la fecha seleccionada ( VAR SelDate ), y que era solo de la Fecha. Tomaría el 15 de octubre en nuestra variable y luego lo mantendría como una constante hasta la instrucción RETURN.
Luego, evaluamos el DAX de afuera hacia adentro. Si observamos la condición del filtro, está eliminando los filtros en Fechas y luego está configurando una serie de filtros adicionales. Está tomando esa fecha seleccionada constante, 15 de octubre, y está diciendo, dame todas las fechas anteriores a esa. Y luego, de esas fechas asegúrese de que ninguna de esas fechas sea sábado, domingo o feriado. Luego, toma el de esas fechas que fueron filtradas.
Puede ver aquí que tener datos seleccionados como una constante es una especie de apuesta en el suelo sobre la cual se evalúan todas las demás fechas antes o después.
Tenemos nuestra fecha seleccionada, y luego estamos filtrando todo lo que es anterior a eso. Estamos tomando el máximo de esa tabla filtrada. Entonces, lo que obtenemos es el máximo el día 15 cuando eliminamos todas esas otras condiciones es ese viernes 11. Luego, si bajamos a la declaración RETURN, comienza de nuevo con el día siguiente, el 16. Simplemente continúa iterando a través de la tabla hasta que llega al final de los datos.
Como puede ver en este caso, cuando colocamos las variables en la parte del iterador en lugar de la parte de la expresión, funciona exactamente como lo planeamos. Aprovecha el hecho de que las variables son constantes.
Uso de variables en LuckyTemplates: un ejemplo detallado
Cómo trabajar con fórmulas DAX extensas en LuckyTemplates: sugerencias de formato incluidas
Variables DAX y comentarios para simplificar fórmulas
Conclusión
En este blog, le mostré cómo aplicar variables DAX de LuckyTemplates en una medida y cómo funciona cuando las variables se colocan en la parte del iterador de una medida.
Espero que estos ejemplos expliquen la frase "las variables son constantes", brindándole una idea de quizás por qué sus medidas parecen funcionar y, a veces, no. Espero que esto le proporcione una comprensión general de lo que significa ese importante concepto.
¡Mis mejores deseos!
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