Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
En este tutorial, aprenderá cómo funciona la función en DAX mediante el panel Tiempos del servidor y su plan de consulta.
La función CROSSJOIN se puede utilizar para crear un producto cartesiano de dos tablas. Un producto cartesiano es un conjunto de todas las combinaciones posibles de filas de dos o más tablas.
El siguiente código DAX se usará en este tutorial.
Puede ver que la función CROSSJOIN da como resultado una combinación de la marca y el color del producto, incluso si algunas de estas combinaciones no existen en la tabla Fact . Esto da como resultado una tabla con un total de 176 filas.
En la pestaña Tiempos del servidor, la primera consulta recupera la Marca de la tabla Productos, mientras que la segunda consulta recupera el Color.
En el Plan de consulta lógica , la primera línea devuelve el resultado en forma de tabla. La segunda y tercera línea en la tabla de productos escanean el color y la marca, respectivamente.
Una vez que se reciben los datos, Formula Engine itera sobre la tabla y produce una combinación de ambas columnas. El CrossApply en la Línea 2 corresponde a la función CROSSJOIN.
Tabla de contenido
Filtrar resultados CROSSJOIN en DAX
Puede usar la función para filtrar los resultados de un CROSSJOIN. Por ejemplo, puede usarlo para mostrar solo productos que son rojos.
Sin embargo, recuerde que no puede colocar una función CROSSJOIN dentro de un argumento FILTER .
Ahora, si ejecuta este código y comprueba la pestaña Tiempos del servidor, verá que el contexto del filtro no aparece como una cláusula WHERE en la consulta.
La función CROSSJOIN solo puede ser resuelta por Formula Engine . El código no funciona ya que se encuentra entre FILTER y , que son funciones que solo Storage Engine puede resolver . Por lo tanto, CROSSJOIN hizo que se rompiera el bucle entre estas dos funciones.
Por lo tanto, debe colocar la función FILTRO dentro del argumento CROSSJOIN para que funcione el filtro.
Ahora, si ejecuta este código y verifica la pestaña Tiempos del servidor, verá que la función FILTRO ahora está representada por la cláusula WHERE.
En el Plan de Consulta Lógica, puede ver que en lugar del Operador de Filtro, se utiliza el Filtro VertiPaq .
Esto se debe a que la nueva condición de filtro en el código se puede enviar al motor de almacenamiento. Después de que se devuelve el resultado, el argumento CROSSJOIN se ejecuta dentro de Formula Engine.
El operador IN
También puede usar el operador en lugar del signo igual en un argumento FILTER.
El operador IN se puede usar dentro del argumento de expresión de la función FILTER para filtrar una tabla en función de si un valor está contenido dentro de una lista de valores o dentro de una tabla.
Cuando usa la combinación FILTER - IN , el motor DAX tiene que realizar un filtro IsEmpty que confirma si el color del producto es rojo o negro.
Agregue la columna de ventas totales en el resultado CROSSJOIN DAX
También se pueden usar otras funciones junto con CROSSJOIN.
Puede usar la función para agregar otra columna en su tabla y luego escribir el argumento de la información que desea mostrar.
En este ejemplo, agreguemos una columna Ventas totales.
Cuando ejecute el código, los resultados aún devolverán 176 filas. Sin embargo, algunas combinaciones tendrán valores en blanco en la columna Ventas totales. Esto se debe a que estas combinaciones no tienen una fila correspondiente en la tabla Ventas.
En la pestaña Tiempos del servidor, el código primero selecciona la marca y el color. Luego suma el producto de la cantidad y el precio neto de venta.
En este caso, el motor DAX primero recupera todas las combinaciones de marca y color que existen dentro de la tabla Productos, junto con las que tienen una fila correspondiente en la tabla Ventas. Luego, recupera las columnas de marca y color por separado.
En el Plan de consulta física, puede ver dos cachés de datos; uno para la marca y otro para el color. Cuando multiplica sus registros totales, obtiene 176 filas.
Luego, se realiza una búsqueda en esas 176 filas para ver si tienen un valor correspondiente en la tabla Ventas. Puede ver que solo 111 filas tienen valores. Las otras 65 filas devolverán espacios en blanco.
Además, si agrega más columnas en el argumento CROSSJOIN, el resultado también devolverá más filas.
Conclusión
La función DAX CROSSJOIN genera una nueva tabla al combinar filas de una tabla con las filas de otra. Esta función es similar a la cláusula CROSS JOIN en SQL y se puede usar para crear consultas más complejas en su modelo de datos.
Puede generar una lista de todas las combinaciones de valores posibles de dos o más tablas. También se puede usar para crear rápidamente una nueva tabla con una gran cantidad de filas, lo que puede ser útil para el análisis de datos, las pruebas o la evaluación comparativa del rendimiento.
En general, la función CROSSJOIN es una herramienta útil en escenarios en los que necesita combinar datos de varias tablas o generar una lista de todas las combinaciones posibles.
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