Saturs

Dažkārt ir situācijas, kad iepriekš nav precīzi zināms, cik un kuras rindas ir jāimportē no avota datiem. Pieņemsim, ka mums ir jāielādē dati no teksta faila programmā Power Query, kas, no pirmā acu uzmetiena, nerada lielas problēmas. Grūtības ir tādas, ka fails tiek regulāri atjaunināts, un rīt tajā var būt atšķirīgs rindu skaits ar datiem, galvene no trim, nevis divām rindiņām utt.:

Peldoša fragmenta importēšana programmā Power Query

Tas ir, mēs nevaram iepriekš droši pateikt, no kuras rindas un tieši cik rindas ir jāimportē. Un tā ir problēma, jo šie parametri ir stingri iekodēti pieprasījuma M-kodā. Un, ja jūs veicat pieprasījumu pirmajam failam (importējot 5 rindas, sākot no 4.), tad tas vairs nedarbosies pareizi ar otro.

Būtu lieliski, ja mūsu vaicājums pats varētu noteikt importējamā “peldošā” teksta bloka sākumu un beigas.

Risinājums, ko vēlos piedāvāt, ir balstīts uz domu, ka mūsu datos ir daži atslēgvārdi vai vērtības, kuras var izmantot kā mums nepieciešamā datu bloka sākuma un beigu marķierus (funkcijas). Mūsu piemērā sākums būs rindiņa, kas sākas ar vārdu SKU, un beigas ir rinda ar vārdu Kopā. Šo rindu validāciju ir viegli ieviest programmā Power Query, izmantojot nosacījuma kolonnu – funkcijas analogu IF (JA) programmā Microsoft Excel.

Apskatīsim, kā to izdarīt.

Vispirms ielādēsim mūsu teksta faila saturu programmā Power Query standarta veidā – ar komandas palīdzību Dati — iegūt datus — no faila — no teksta/CSV faila (Dati — iegūt datus — no faila — no teksta/CSV faila). Ja Power Query ir instalēta kā atsevišķa pievienojumprogramma, atbilstošās komandas būs cilnē Jaudas vaicājums:

Peldoša fragmenta importēšana programmā Power Query

Kā vienmēr, importējot, varat izvēlēties kolonnu atdalīšanas rakstzīmi (mūsu gadījumā tā ir cilne), un pēc importēšanas varat noņemt automātiski pievienoto darbību modificēts tips (Mainīts veids), jo ir par agru kolonnām piešķirt datu tipus:

Peldoša fragmenta importēšana programmā Power Query

Tagad ar komandu Kolonnas pievienošana — nosacījuma kolonna (Pievienot kolonnu — nosacījuma kolonna)pievienosim kolonnu, pārbaudot divus nosacījumus — bloka sākumā un beigās — un katrā gadījumā parādot dažādas vērtības (piemēram, skaitļus 1 и 2). Ja neviens no nosacījumiem nav izpildīts, tad izvadiet nulle:

Peldoša fragmenta importēšana programmā Power Query

Pēc noklikšķināšanas uz OK mēs iegūstam šādu attēlu:

Peldoša fragmenta importēšana programmā Power Query

Tagad pāriesim uz cilni. transformācija un izvēlieties komandu Aizpildiet – uz leju (Pārveidot – Aizpildīt – Uz leju) – mūsu vieninieki stiepsies lejup pa kolonnu:

Peldoša fragmenta importēšana programmā Power Query

Tad, kā jūs varētu nojaust, jūs varat vienkārši filtrēt vienības nosacītajā kolonnā — un šeit ir mūsu kārotais datu gabals:

Peldoša fragmenta importēšana programmā Power Query

Atliek tikai pacelt pirmo rindiņu uz galvenes ar komandu Izmantojiet pirmo rindiņu kā galvenes tab Sākumlapa (Sākums — izmantojiet pirmo rindu kā galvenes) un noņemiet nevajadzīgo vairāk nosacījumu kolonnu, ar peles labo pogu noklikšķinot uz tās galvenes un atlasot komandu Dzēst kolonnu (Dzēst kolonnu):

Problēma atrisināta. Tagad, mainot datus avota teksta failā, vaicājums tagad neatkarīgi noteiks mums nepieciešamo datu “peldošā” fragmenta sākumu un beigas un katru reizi importēs pareizo rindu skaitu. Protams, šī pieeja darbojas arī XLSX, nevis TXT failu importēšanas gadījumā, kā arī importējot visus failus no mapes uzreiz ar komandu Dati — iegūt datus — no faila — no mapes (Dati — iegūt datus — no faila — no mapes).

  • Tabulu salikšana no dažādiem failiem, izmantojot Power Query
  • Šķērstabiņas pārprojektēšana uz plakanu, izmantojot makro un Power Query
  • Projekta Ganta diagrammas izveide programmā Power Query

Atstāj atbildi