Cynnwys

Weithiau mae sefyllfaoedd pan nad yw'n hysbys ymlaen llaw faint yn union a pha resi sydd angen eu mewnforio o'r data ffynhonnell. Tybiwch fod yn rhaid i ni lwytho data o ffeil testun i Power Query, nad yw, ar yr olwg gyntaf, yn peri problem fawr. Yr anhawster yw bod y ffeil yn cael ei diweddaru'n rheolaidd, ac yfory efallai y bydd ganddi nifer wahanol o linellau gyda data, pennawd o dair, nid dwy linell, ac ati:

Mewnforio Darn arnofio mewn Pŵer Ymholiad

Hynny yw, ni allwn ddweud ymlaen llaw gyda sicrwydd, gan ddechrau o ba linell ac yn union faint o linellau y mae angen eu mewnforio. Ac mae hyn yn broblem, oherwydd mae'r paramedrau hyn wedi'u codio'n galed yng nghod M y cais. Ac os gwnewch gais am y ffeil gyntaf (mewnforio 5 llinell gan ddechrau o'r 4ydd), yna ni fydd yn gweithio'n gywir gyda'r ail un mwyach.

Byddai'n wych pe gallai ein hymholiad ei hun bennu dechrau a diwedd y bloc testun “fel y bo'r angen” i'w fewnforio.

Mae'r ateb yr wyf am ei gynnig yn seiliedig ar y syniad bod ein data yn cynnwys rhai geiriau allweddol neu werthoedd y gellir eu defnyddio fel marcwyr (nodweddion) dechrau a diwedd y bloc data sydd ei angen arnom. Yn ein hesiampl ni, y dechreuad fydd llinell yn dechreu â'r gair SKU, a'r diwedd yn llinell â'r gair Cyfanswm. Mae'r dilysiad rhes hwn yn hawdd i'w weithredu yn Power Query gan ddefnyddio colofn amodol - analog o'r swyddogaeth IF (OS) mewn Microsoft Excel.

Gadewch i ni weld sut i wneud hynny.

Yn gyntaf, gadewch i ni lwytho cynnwys ein ffeil testun i mewn i Power Query yn y ffordd safonol - trwy'r gorchymyn Data - Cael data - O ffeil - O destun / ffeil CSV (Data - Cael Data - O ffeil - O'r testun / ffeil CSV). Os oes gennych Power Query wedi'i osod fel ychwanegiad ar wahân, yna bydd y gorchmynion cyfatebol ar y tab Ymholiad Pwer:

Mewnforio Darn arnofio mewn Pŵer Ymholiad

Fel bob amser, wrth fewnforio, gallwch ddewis y cymeriad gwahanydd colofn (yn ein hachos ni, mae hwn yn dab), ac ar ôl mewnforio, gallwch gael gwared ar y cam a ychwanegwyd yn awtomatig math wedi'i addasu (Math wedi'i Newid), oherwydd ei bod yn rhy gynnar i ni aseinio mathau o ddata i golofnau:

Mewnforio Darn arnofio mewn Pŵer Ymholiad

Nawr gyda'r gorchymyn Ychwanegu Colofn - Colofn Amodol (Ychwanegu Colofn - Colofn Amodol)gadewch i ni ychwanegu colofn gyda gwirio dau amod - ar ddechrau a diwedd y bloc - ac yn dangos unrhyw werthoedd gwahanol ym mhob achos (er enghraifft, rhifau 1 и 2). Os na chaiff unrhyw un o'r amodau ei fodloni, yna allbwn null:

Mewnforio Darn arnofio mewn Pŵer Ymholiad

Ar ôl clicio ar OK rydym yn cael y llun canlynol:

Mewnforio Darn arnofio mewn Pŵer Ymholiad

Nawr, gadewch i ni fynd i'r tab. Trawsnewid a dewis tîm Llenwch - I lawr (Trawsnewid - Llenwch - I lawr) – bydd ein rhai ni a'n dau yn ymestyn i lawr y golofn:

Mewnforio Darn arnofio mewn Pŵer Ymholiad

Wel, felly, fel y gallech ddyfalu, gallwch hidlo'r unedau yn y golofn amodol - a dyma ein darn chwenychedig o ddata:

Mewnforio Darn arnofio mewn Pŵer Ymholiad

Y cyfan sydd ar ôl yw codi'r llinell gyntaf i'r pennawd gyda'r gorchymyn Defnyddiwch y llinell gyntaf fel penawdau tab Hafan (Cartref - Defnyddiwch y Rhes Gyntaf fel Penawdau) a dileu'r golofn fwy amodol diangen trwy dde-glicio ar ei bennawd a dewis y gorchymyn Dileu colofn (Dileu Colofn):

Problem wedi'i datrys. Nawr, wrth newid y data yn y ffeil testun ffynhonnell, bydd yr ymholiad nawr yn pennu dechrau a diwedd y darn “fel y bo'r angen” o'r data sydd ei angen arnom yn annibynnol ac yn mewnforio'r nifer cywir o linellau bob tro. Wrth gwrs, mae'r dull hwn hefyd yn gweithio yn achos mewnforio XLSX, nid ffeiliau TXT, yn ogystal ag wrth fewnforio pob ffeil o ffolder ar unwaith gyda'r gorchymyn Data - Cael data - O ffeil - O ffolder (Data - Cael Data - O ffeil - O ffolder).

  • Cydosod tablau o wahanol ffeiliau gan ddefnyddio Power Query
  • Ailgynllunio crosstab i fflat gyda macros a Power Query
  • Adeiladu Siart Prosiect Gantt mewn Ymholiad Pŵer

Gadael ymateb