Efnisyfirlit

Stundum koma upp aðstæður þar sem ekki er fyrirfram vitað nákvæmlega hversu margar og hvaða línur þarf að flytja inn úr upprunagögnunum. Segjum að við þurfum að hlaða gögnum úr textaskrá inn í Power Query, sem við fyrstu sýn veldur ekki stóru vandamáli. Erfiðleikarnir eru þeir að skráin er uppfærð reglulega og á morgun gæti hún verið með mismunandi fjölda lína með gögnum, haus af þremur, ekki tveimur línum o.s.frv.:

Flytja inn fljótandi brot í Power Query

Það er, við getum ekki sagt fyrirfram með vissu, frá hvaða línu og nákvæmlega hversu margar línur þarf að flytja inn. Og þetta er vandamál, vegna þess að þessar breytur eru harðkóðar í M-kóða beiðninnar. Og ef þú leggur fram beiðni um fyrstu skrána (flytur inn 5 línur frá og með þeirri 4.), þá mun hún ekki lengur virka rétt með þeirri seinni.

Það væri frábært ef fyrirspurn okkar gæti sjálf ákveðið upphaf og lok „fljótandi“ textablokkarinnar til innflutnings.

Lausnin sem ég vil leggja til byggist á þeirri hugmynd að gögnin okkar innihalda nokkur leitarorð eða gildi sem hægt er að nota sem merki (eiginleika) fyrir upphaf og lok gagnablokkarinnar sem við þurfum. Í dæminu okkar mun upphafið vera lína sem byrjar á orðinu SKU, og endirinn er lína með orðinu Samtals. Auðvelt er að útfæra þessa röð sannprófun í Power Query með því að nota skilyrtan dálk - hliðstæðu aðgerðarinnar IF (EF) í Microsoft Excel.

Við skulum sjá hvernig á að gera það.

Fyrst skulum við hlaða innihaldi textaskráar okkar inn í Power Query á hefðbundinn hátt - í gegnum skipunina Gögn – Fáðu gögn – Úr skrá – Úr texta/CSV skrá (Gögn – Fá gögn – Úr skrá – Úr texta/CSV skrá). Ef þú ert með Power Query uppsett sem sérstaka viðbót, þá verða samsvarandi skipanir á flipanum Orkufyrirspurn:

Flytja inn fljótandi brot í Power Query

Eins og alltaf, þegar þú flytur inn geturðu valið dálkaskiljustafinn (í okkar tilfelli er þetta flipi) og eftir innflutning geturðu fjarlægt skrefið sem bætt var við sjálfkrafa breytt gerð (Breytt gerð), vegna þess að það er of snemmt fyrir okkur að úthluta gagnategundum á dálka:

Flytja inn fljótandi brot í Power Query

Nú með skipunina Dálki bætt við – Skilyrt dálki (Bæta við dálki - skilyrt dálki)við skulum bæta við dálki með því að haka við tvö skilyrði – í upphafi og lok reitsins – og sýna mismunandi gildi í hverju tilviki (til dæmis tölur 1 и 2). Ef ekkert af skilyrðunum er uppfyllt, þá framleiðsla null:

Flytja inn fljótandi brot í Power Query

Eftir að smella á OK við fáum eftirfarandi mynd:

Flytja inn fljótandi brot í Power Query

Nú skulum við fara í flipann. Umbreyting og velja lið Fylla - Niður (Umbreyta - Fylla - Niður) – okkar einir og tveir munu teygja sig niður dálkinn:

Flytja inn fljótandi brot í Power Query

Jæja, þá, eins og þú gætir giska á, geturðu einfaldlega síað einingarnar í skilyrta dálknum - og hér er eftirsótta gögnin okkar:

Flytja inn fljótandi brot í Power Query

Það eina sem er eftir er að hækka fyrstu línuna í hausinn með skipuninni Notaðu fyrstu línu sem haus flipi Heim (Heima – Notaðu fyrstu röð sem hausa) og fjarlægðu óþarfa skilyrtari dálkinn með því að hægrismella á hausinn og velja skipunina Eyða dálki (Eyða dálki):

Vandamál leyst. Nú, þegar gögnum í frumtextaskránni er breytt, mun fyrirspurnin nú sjálfstætt ákvarða upphaf og lok „fljótandi“ gagnabrotsins sem við þurfum og flytja inn réttan fjölda lína í hvert sinn. Auðvitað virkar þessi aðferð líka þegar verið er að flytja inn XLSX, ekki TXT skrár, sem og þegar allar skrár eru fluttar inn úr möppu í einu með skipuninni Gögn – Fáðu gögn – Úr skrá – Úr möppu (Gögn — Fá gögn — Úr skrá — Úr möppu).

  • Að setja saman töflur úr mismunandi skrám með Power Query
  • Endurhanna krosstöflu í flatan með fjölvi og Power Query
  • Að byggja upp Gantt myndrit í Power Query

Skildu eftir skilaboð