contingut

De vegades hi ha situacions en què no se sap amb antelació exactament quantes i quines files s'han d'importar de les dades d'origen. Suposem que hem de carregar dades d'un fitxer de text a Power Query, la qual cosa, a primera vista, no presenta un gran problema. La dificultat és que el fitxer s'actualitza regularment, i demà pot tenir un nombre diferent de línies amb dades, una capçalera de tres, no dues línies, etc.:

Importació d'un fragment flotant a Power Query

És a dir, no podem dir per endavant amb certesa, partint de quina línia i quantes línies s'han d'importar exactament. I això és un problema, perquè aquests paràmetres estan codificats en el codi M de la sol·licitud. I si feu una sol·licitud per al primer fitxer (important 5 línies a partir del 4t), ja no funcionarà correctament amb el segon.

Seria fantàstic que la nostra consulta pogués determinar per si mateixa l'inici i el final del bloc de text "flotant" per a la importació.

La solució que vull proposar es basa en la idea que les nostres dades contenen algunes paraules clau o valors que es poden utilitzar com a marcadors (característiques) de l'inici i final del bloc de dades que necessitem. En el nostre exemple, el començament serà una línia que comença amb la paraula Ref., i el final és una línia amb la paraula Total. Aquesta validació de fila és fàcil d'implementar a Power Query mitjançant una columna condicional, un anàleg de la funció IF (SI) en Microsoft Excel.

Anem a veure com fer-ho.

Primer, carreguem el contingut del nostre fitxer de text a Power Query de la manera estàndard: mitjançant l'ordre Dades – Obtenir dades – Del fitxer – Des del fitxer de text/CSV (Dades - Obtenir dades - Del fitxer - Des del fitxer de text/CSV). Si teniu Power Query instal·lat com a complement independent, les ordres corresponents estaran a la pestanya Power Consulta:

Importació d'un fragment flotant a Power Query

Com sempre, en importar, podeu seleccionar el caràcter separador de columnes (en el nostre cas, es tracta d'una pestanya), i després d'importar, podeu eliminar el pas afegit automàticament tipus modificat (Tipus canviat), perquè és massa aviat per assignar tipus de dades a les columnes:

Importació d'un fragment flotant a Power Query

Ara amb l'ordre Afegir una columna - Columna condicional (Afegeix una columna — Columna condicional)afegim una columna amb la comprovació de dues condicions (al principi i al final del bloc) i mostrant qualsevol valor diferent en cada cas (per exemple, números 1 и 2). Si no es compleix cap de les condicions, la sortida nul:

Importació d'un fragment flotant a Power Query

Després de fer clic OK obtenim la següent imatge:

Importació d'un fragment flotant a Power Query

Ara anem a la pestanya. Transformació i triar un equip Omplir - Avall (Transformar - Omplir - Avall) – els nostres uns i dos s'estiraran per la columna:

Importació d'un fragment flotant a Power Query

Bé, doncs, com podeu endevinar, simplement podeu filtrar les unitats a la columna condicional, i aquí teniu la nostra cobejada dada:

Importació d'un fragment flotant a Power Query

Només queda pujar la primera línia a la capçalera amb l'ordre Utilitzeu la primera línia com a capçaleres llengüeta Home (Inici: utilitzeu la primera fila com a capçaleres) i elimineu la columna més condicional innecessària fent clic amb el botó dret a la seva capçalera i seleccionant l'ordre Suprimeix la columna (Suprimeix la columna):

Problema resolt. Ara, quan es canvien les dades del fitxer de text font, la consulta ara determinarà de manera independent l'inici i el final del fragment "flotant" de les dades que necessitem i importarà el nombre correcte de línies cada vegada. Per descomptat, aquest enfocament també funciona en el cas d'importar fitxers XLSX, no TXT, així com quan s'importen tots els fitxers d'una carpeta alhora amb l'ordre Dades – Obtenir dades – Del fitxer – Des de la carpeta (Dades — Obtenir dades — Del fitxer — Des de la carpeta).

  • Muntatge de taules a partir de diferents fitxers mitjançant Power Query
  • Redisseny d'una taula creuada a plana amb macros i Power Query
  • Construcció d'un diagrama de Gantt del projecte a Power Query

Deixa un comentari