Un miembro del publicó este escenario. Tenemos aquí una tabla que contiene listas. Si profundizamos en esa primera lista y hacemos clic con el botón derecho en el espacio en blanco y seleccionamos Agregar como nueva consulta , podemos ver el contenido de esa lista.
Esta lista contiene tres registros. Cuando hago clic en el lateral del espacio en blanco, podemos ver una vista previa del contenido de ese registro a continuación.
El objetivo es buscar el valor de búsqueda del campo y luego extraer ese valor . Una vez que hayamos extraído todos esos valores de campo, los combinaremos en una sola cadena de texto . Entonces, haré referencia a mi consulta de origen. Haré clic con el botón derecho en eso y seleccionaré Referencia.
Tutorial de Power Query Editor: transformación de listas anidadas y extracción de valores
A través de ese ícono de mini tabla, agregaré una columna personalizada. Queremos transformar esa lista anidada, extrayendo cada valor de ese campo en esos registros anidados. Para hacer esto, podemos usar una función llamada list.transform.
Esta función requiere una lista y nuestras listas están en la columna FromLookup . Así que seleccionaré eso y luego pondré una coma. A continuación, quiere una transformación como función. Y para cada elemento de esa lista, queremos obtener el texto de ella.
Entonces, escribiré aquí cada Text.From. Para acceder a todos los elementos, podemos usar la variable sin nombre, guión bajo . Así que agregaré el guión bajo aquí. Pero todos los elementos de nuestra lista son registros, por lo que también debemos agregar el operador de acceso al campo. En un conjunto de corchetes, podemos agregar el nombre del campo al que queremos acceder, y eso se llama lookupvalue . Cierra el corchete y cierra entre paréntesis. Agregue otro paréntesis de cierre para la función List.Transform y luego presione Aceptar .
Hagamos clic al lado en el espacio ancho para ver los resultados. Como puede ver, tenemos todas las descripciones de esos registros anidados.
Sin embargo, obtenemos un error en la tercera tabla.
Haré clic derecho y lo agregaré como una nueva consulta. Haré clic en el lateral del espacio amplio y podremos ver que no hay ningún valor de búsqueda. El campo no existe en este registro, así que arreglemos eso también.
Eliminaré esta consulta de ayuda, retrocederé a nuestra consulta de diseño. Y después del operador de acceso al campo, simplemente podemos agregar el signo de interrogación y presionar enter.
Con eso, ya no obtenemos ese error, sino que obtenemos un Nulo en su lugar. Todo lo que queda por hacer es combinar estos valores de texto.
Tutorial de Power Query Editor: combinación de valores en una sola cadena de texto
Para combinar estos valores en una sola cadena, podemos usar la función Text.Combine . En la barra de fórmulas, agregaremos Text.Combine y luego abriremos paréntesis, saltaremos hasta el final y agregaremos una coma.
El primer parámetro era textos como lista y ahora quiere un separador como texto. Así que agreguemos signos de comillas, cerremos entre paréntesis y presionemos enter. Y ahí lo tienes.
En este tutorial, le mostré cómo extraer valores de campos de registro de una lista anidada y combinar esos valores en una sola cadena de texto. He usado las funciones List.Transform y Text.From para extraer valores de campo para cada uno de los registros dentro de esa lista anidada. Y finalmente, combiné esos resultados en una sola cadena de texto usando Text.Combine.
Espero que pueda usar e implementar esta técnica en su propio entorno de trabajo. Para obtener más tutoriales similares, consulte los enlaces relacionados a continuación.