Columna dividida de LuckyTemplates por delimitadores en DAX

Columna dividida de LuckyTemplates por delimitadores en DAX

En el blog de hoy, aprenderá cómo usar LuckyTemplates para dividir columnas por delimitadores usando DAX. Esto es algo que probablemente sabrá cómo hacer fácilmente con Power Query y, por lo general, es la mejor manera de hacerlo. 

Pero debido a la naturaleza dinámica del problema y las consideraciones específicas dentro del modelo de datos, existen situaciones en las que el uso de DAX proporciona una mejor solución. Puedes ver el video completo de este tutorial en la parte inferior de este blog.

Tabla de contenido

Problema de muestra

Este es el problema de muestra en LuckyTemplates.

Columna dividida de LuckyTemplates por delimitadores en DAX

Tiene una lista de unos 600 títulos de películas y desea identificar las palabras más comunes entre ellas. Para ello, utilizará el control deslizante de parámetros que se muestra a continuación para calcular las palabras de cada título.

Columna dividida de LuckyTemplates por delimitadores en DAX

En el control deslizante, puede establecer cuántas palabras principales desea devolver. Para este tutorial, digamos que lo configura en cinco palabras.

Su próximo objetivo es devolver todos los títulos que tengan al menos una de las cinco palabras que seleccionó. Hacerlo puede sonar simple, pero es un poco más complicado de lo que parece. Así que aquí están los pasos para lograr estos objetivos.

Pasos sobre cómo dividir columnas usando delimitadores

Esta sección le enseñará cómo resolver el problema dado dividiendo columnas en DAX. El primer paso es abrir los datos de la película haciendo clic en el segundo ícono en el lado izquierdo, luego en Película en el Panel de campos. 

Columna dividida de LuckyTemplates por delimitadores en DAX

En la lista de películas que aparecerán, debe pensar en formas de dividir los títulos en palabras individuales.

Una posible solución es usar dos tablas virtuales como se muestra a continuación. La Tabla 1 es una tabla de una columna de las N palabras principales definidas por el control deslizante. La segunda tabla es una columna virtual de las palabras en cada título de película. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Luego, usando las dos tablas virtuales, puedes usar la función para determinar qué palabras son comunes entre ellas. A continuación, haz en esa mesa virtual para saber si ese número es mayor o igual a uno. 

Si la respuesta es afirmativa, al menos una de las palabras clave se encuentra en el título de la película. Y esos son los títulos que queremos retener en el resultado final. 

Búsqueda de herramientas útiles de columna dividida de LuckyTemplates en la guía SQLBI DAX

Para pensar en cómo puede implementar eso, puede consultar la Guía de SQLBI DAX yendo a Herramientas externas y luego a la Guía de DAX

Columna dividida de LuckyTemplates por delimitadores en DAX

En esta página, puede buscar funciones por tipo haciendo clic en Grupos.

Columna dividida de LuckyTemplates por delimitadores en DAX

En Funciones , puede comenzar con Texto para ver si hay funciones de texto similares a dividir columnas por delimitadores. Eso facilitaría bastante las cosas, pero desafortunadamente, no hay nada que corresponda a eso en DAX.

Columna dividida de LuckyTemplates por delimitadores en DAX

En cambio, lo que usará son las que hacen lo mismo que dividir por el delimitador.

Columna dividida de LuckyTemplates por delimitadores en DAX

Funciones de jerarquía padre-hijo

Las funciones de jerarquía padre-hijo o las funciones PATH se utilizan normalmente para situaciones jerárquicas. Supongamos que necesita un análisis de recursos humanos en el que tiene el director ejecutivo de una empresa, los gerentes a nivel de director, los gerentes a nivel de jefe de sucursal, etc.

Las funciones PATH pueden expresar esta jerarquía de una manera particular y recorrerla de un lado a otro. Este es el uso tradicional de las funciones de jerarquía padre-hijo, pero aprenderá que también tiene algunas propiedades muy útiles para la manipulación de texto y DAX.

Usarlo es mucho más complicado que LuckyTemplates, pero esperamos facilitar el proceso brindándole una solución paso a paso. Es una técnica útil para aprender y lo expone a una familia de funciones DAX que son increíblemente poderosas.

Columna dividida de LuckyTemplates en DAX

Las funciones de jerarquía padre-hijo implican una serie de pasos, pero vale la pena echarles un vistazo porque estas cinco funciones son realmente poderosas y flexibles. 

Para comenzar, regrese a la tabla y haga clic en de película en el Panel de campos. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Cree una ruta de película usando el comando como se muestra a continuación.

Columna dividida de LuckyTemplates por delimitadores en DAX

Lo que hace este comando es reemplazar cada espacio con un carácter de barra vertical. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Esta es la misma forma en que se deben formatear las rutas en LuckyTemplates, por lo que, por lo general, esto se hace en Power Query. Sin embargo, lo hizo de esta manera para ver los comandos , que son diferentes de los comandos M en Power Query. 

La función crea la estructura de ruta que necesita, mientras que el comando elimina los espacios iniciales o finales que podrían afectar nuestros resultados. 

Su segunda columna calculada es la Longitud de ruta. Es un comando directo en la función que se aplica a la ruta de la película. Le dirá cuántos elementos hay en esa ruta, por lo que en este caso, es la cantidad de palabras en el título. 

Columna dividida de LuckyTemplates por delimitadores en DAX

El mismo comando se puede utilizar para determinar, por ejemplo, el número de personas en la cadena de informes. Pero este caso es solo un simple recuento de palabras. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Lo siguiente que debe hacer es ir al Índice de ruta máxima en el panel Campos. Luego, cree una tabla calculada que recorra toda la tabla de películas, elimine los filtros y calcule la longitud máxima de la ruta para conocer el título más largo de la base de datos.

Usando la función , puede generar una serie de índices con una ruta máxima contando de uno en uno. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Así es como debería verse tu mesa. Verá en un minuto por qué esto es valioso.

Columna dividida de LuckyTemplates por delimitadores en DAX

Por ahora, vuelva a LuckyTemplates y haga clic en Palabras principales en la ruta de la película en el Panel de campos. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Nos centraremos en esta tabla virtual cuya solución general fue el diagrama de Venn mostrado anteriormente. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Vamos a desglosarlo para entenderlo mejor. En las líneas a continuación, usamos la tabla virtual para las N palabras principales, como se calcula a continuación. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Luego, la columna dividida por delimitador se calcula en las líneas a continuación. 

Columna dividida de LuckyTemplates por delimitadores en DAX

A continuación, aplicamos la intersección de esas dos columnas. Si esa intersección es mayor que cero, le daremos uno o, en su defecto, cero. Finalmente, devolvimos el resultado.

Columna dividida de LuckyTemplates por delimitadores en DAX

Cuando se trabaja con tablas virtuales complejas, la forma más fácil es ingresar al Editor Tabular , donde puede materializar estas tablas virtuales en una consulta DAX. Para eso, debe concentrarse en las líneas resaltadas a continuación. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Entonces, copie este código y déjelo reposar en nuestro portapapeles para los próximos pasos. 

Procesamiento de columnas divididas de LuckyTemplates mediante el editor tabular 3

En Herramientas externas, haga clic en Editor tabular 3 . También puede usar DAX Studio para esto, pero se recomienda Tabular Editor debido a sus funciones de depuración adicionales y otras capacidades interesantes. Para consultas DAX, DAX Studio también funcionará bien y es totalmente gratuito. 

De vuelta en el editor tabular, cree una nueva consulta DAX haciendo clic en el ícono de papel en la cinta. Escriba EVALUAR en la línea 1, pegue el código copiado y luego presione F5.

Columna dividida de LuckyTemplates por delimitadores en DAX

Obtendrá una tabla con Film Path y Max Path para las dos primeras columnas. Para la tercera columna, utilizará el comando y Film Path para determinar cuál es la primera palabra para cada incremento del índice de ruta, de uno a nueve. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Este código devuelve la primera palabra presentada en la tercera columna. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Intente ver una película en particular haciendo clic en el ícono de Filtro en el título de la columna Películas [Ruta de la película] . Por ejemplo, tome uno que sea un poco más largo, digamos Capitán América: El Soldado de Invierno. 

Columna dividida de LuckyTemplates por delimitadores en DAX

En la parte inferior de la ventana, puede ver que EVALUATE devolvió 1000 filas

Columna dividida de LuckyTemplates por delimitadores en DAX

Obtenga todas las filas y luego regrese y filtre Películas [Film Path] para Capitán América nuevamente.

Columna dividida de LuckyTemplates por delimitadores en DAX

Búsqueda de Capitán América: El Soldado de Invierno. Marque la casilla correspondiente y haga clic en Cerrar.

Columna dividida de LuckyTemplates por delimitadores en DAX

Lo que hace exactamente para cada título es revisar y aplicar los índices del uno al nueve, como se ve en la segunda columna, y luego aplicar eso al comando

Puede ver que el primer elemento es Capitán , el segundo elemento es América , el tercero es El , el cuarto es Invierno y el último elemento es Soldado . Cuando pasa de seis a nueve, está en blanco porque ha superado la cantidad de palabras en ese título en particular. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Lo que ha creado es una columna dividida por delimitador, que es exactamente igual que la división por delimitador en Power Query. 

En LuckyTemplates, puede ver que el comando que se ejecuta a través de la intersección y la instrucción IF. Por lo tanto, si regresa a su conjunto de datos y abre el panel Filtros, puede ver que la palabra principal en la película se filtra para que sea igual a uno. 

Columna dividida de LuckyTemplates por delimitadores en DAX

Esto básicamente dice que todo lo que esté en la tabla de la derecha (Película) que tenga una palabra que esté en la lista de objetivos de la tabla de la izquierda aparecerá en las filas superiores. En cambio, los que sean cero se colocarán abajo.

Columna dividida de LuckyTemplates por delimitadores en DAX


Power Automate Split Function and Arrays
LuckyTemplates Column Split Power Query Tutorial: Cómo dividir celdas de Excel de varias líneas en LuckyTemplates
Crear una lista delimitada en Power Query – Tutorial del editor de consultas

Conclusión

En este blog, aprendió a dividir columnas por delimitador en DAX. Encontrará esta herramienta realmente útil cuando su situación sea muy dinámica o su modelo de datos no admita hacerlo en Power Query.

Además, el problema de muestra en el que trabajó es una buena ilustración del poder inusual de los comandos PATH y cómo puede usarlos para resolver problemas de formas no tradicionales.


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