Contenido

A veces, hay situaciones en las que no se sabe de antemano exactamente cuántas y qué filas deben importarse de los datos de origen. Supongamos que tenemos que cargar datos de un archivo de texto en Power Query, lo que, a primera vista, no presenta un gran problema. La dificultad es que el archivo se actualiza periódicamente, y mañana puede tener otro número de líneas con datos, una cabecera de tres, no de dos líneas, etc.:

Importación de un fragmento flotante en Power Query

Es decir, no podemos decir de antemano con certeza, a partir de qué línea y exactamente cuántas líneas se deben importar. Y esto es un problema, porque estos parámetros están codificados en el código M de la solicitud. Y si realiza una solicitud para el primer archivo (importando 5 líneas a partir de la 4), ya no funcionará correctamente con el segundo.

Sería genial si nuestra consulta pudiera determinar por sí misma el principio y el final del bloque de texto "flotante" para la importación.

La solución que quiero proponer se basa en la idea de que nuestros datos contienen algunas palabras clave o valores que pueden usarse como marcadores (características) del principio y el final del bloque de datos que necesitamos. En nuestro ejemplo, el comienzo será una línea que comience con la palabra SKU, y el final es una línea con la palabra Total. Esta validación de fila es fácil de implementar en Power Query usando una columna condicional, un análogo de la función IF (SI) en Microsoft Excel.

Veamos como hacerlo.

Primero, carguemos el contenido de nuestro archivo de texto en Power Query de la manera estándar, a través del comando Datos – Obtener datos – Desde archivo – Desde texto/archivo CSV (Datos – Obtener datos – Desde archivo – Desde archivo de texto/CSV). Si tiene Power Query instalado como un complemento separado, los comandos correspondientes estarán en la pestaña Power Query:

Importación de un fragmento flotante en Power Query

Como siempre, al importar, puede seleccionar el carácter separador de columna (en nuestro caso, esta es una pestaña), y después de importar, puede eliminar el paso agregado automáticamente tipo modificado (Tipo cambiado), porque es demasiado pronto para que asignemos tipos de datos a las columnas:

Importación de un fragmento flotante en Power Query

Ahora con el comando Agregar una columna: columna condicional (Agregar columna — Columna condicional)agreguemos una columna con la verificación de dos condiciones, al principio y al final del bloque, y que muestre cualquier valor diferente en cada caso (por ejemplo, números 1 и 2). Si ninguna de las condiciones se cumple, entonces la salida nulo:

Importación de un fragmento flotante en Power Query

Después de hacer clic en OK obtenemos la siguiente imagen:

Importación de un fragmento flotante en Power Query

Ahora vamos a la pestaña. y elige un equipo Llenar hacia abajo (Transformar – Rellenar – Abajo) – nuestros uno y dos se extenderán hacia abajo en la columna:

Importación de un fragmento flotante en Power Query

Bueno, entonces, como puede suponer, simplemente puede filtrar las unidades en la columna condicional, y aquí está nuestra codiciada información:

Importación de un fragmento flotante en Power Query

Solo queda subir la primera línea a la cabecera con el comando Usar la primera línea como encabezados de la pestaña. Inicio (Inicio: usar la primera fila como encabezados) y elimine la columna más condicional innecesaria haciendo clic derecho en su encabezado y seleccionando el comando Eliminar columna (Borrar columna):

Problema resuelto. Ahora, al cambiar los datos en el archivo de texto de origen, la consulta ahora determinará de forma independiente el principio y el final del fragmento "flotante" de los datos que necesitamos e importará la cantidad correcta de líneas cada vez. Por supuesto, este enfoque también funciona en el caso de importar archivos XLSX, no TXT, así como al importar todos los archivos de una carpeta a la vez con el comando Datos – Obtener datos – Desde archivo – Desde carpeta (Datos — Obtener datos — Desde archivo — Desde carpeta).

  • Ensamblar tablas de diferentes archivos usando Power Query
  • Rediseño de una tabulación cruzada a plano con macros y Power Query
  • Creación de un diagrama de Gantt del proyecto en Power Query

Deje un comentario