Mole text substitutio in potestate Query cum List.Accumulate munus

Quam cito et in mole textum repone secundum indices cum formularum referentium — iam illud digessi sumus. Nunc in potestate Query facere conemur.

Ut saepe accidit praestare hoc negotium multo facilius quam explicandum quod operatur, sed utrumque

Ita habemus duas "captiosus" mensas dynamicas ex communibus ordinibus creatos cum claviaturali compendio Ctrl-+T aut quadrigis Domum - Forma ut mensam (Domus - Format as Table):

Mole text substitutio in potestate Query cum List.Accumulate munus

Vocavi primam mensam DataSecunda mensa - Directoryper agrum Nomen mensa (Tabula nomen) Tab Constructor (Design).

Negotium: oratio in reponere in mensa Data omnia acta a columna Invenire History eorum correspondentes recta versos ex columna Substitutus. Reliquae textus in cellulis intacta manere debent.

Gradus 1. Load indicem in Potestatem Query et in album vertere

Cellam activam ad aliquem locum pone in tabula referente, deprime in tab Data (Date)aut in tab virtus Query (si vetus versio Praecedo et inauguratus es Power Query as an add-in on a separate tab) in puga pyga Ex mensa / range (Ex Tabula/Range).

Mensa relatio oneratur in editorem interrogationis Potentiae Query:

Mole text substitutio in potestate Query cum List.Accumulate munus

Ut non impediret, automatice gradus additur mutatio generis (Type mutata) in tabula dextra, vestigia apposita tuto deleta, solum gradatim relinquens Source (Source):

Mole text substitutio in potestate Query cum List.Accumulate munus

Nunc, ut ulteriores mutationes et supplementum adipiscamur, necesse est hanc tabulam in album vertere.

Lyrica digressio

Priusquam pergamus, vocabula prius intellegamus. Potestas Query cum pluribus generibus obiectis operari potest:
  • Mensa est duplex instructus dimensivus ex pluribus ordinibus et columnis constans.
  • Record (Record) - una dimensiva chorda ordinata, pluribus elementis campis constans nominibus, e.g [Name = “Masha”, Gender = “f”, Aevum = 25]
  • album - una dimensiva columna ordinata, ex pluribus elementis constans, e.g {L, L, L, 1, 2} or { "Fidem, spem, caritatem" }

Ad quaestionem nostram solvendam, praesertim in typo erimus album.

Dolus hic est quod index rerum in Power Query potest esse non solum numeros vulgares vel textum, sed etiam alios indices vel tabulas. In tam captioso indice (recordorum) constans est ut directorium nostrum convertamus. In Potentia Query notatio syntactica (viscus in uncis quadratis, lista in uncis crispis) hoc spectare placet:

{

    [ Inveni = “S. Petersburg, Repone = St. Petersburg" ] ,

    [ Inveni = “S. Petersburg, Repone = St. Petersburg" ] ,

    [ Invenias Petrum, repone = St. Petersburg" ] ,

etc.

}

Talis mutatio fit utens peculiari functione linguae M aedificatae in Potentiam Query - Table.ToRecords. Ut directe illud in formula forensi applicet, hoc munus ad gradum codici illic adiunge Source.

Fuit;

Mole text substitutio in potestate Query cum List.Accumulate munus

Post:

Mole text substitutio in potestate Query cum List.Accumulate munus

Tabula.ToRecords additis functionibus, species nostrae tabulae mutabit - in tabulas convertet. Singulorum monumentorum contenta in intimo pane visui videri possunt strepitando in cella background iuxta verbum quodlibet record (sed non uno verbo!)

Praeter haec, sensum unum magis ictum addere – ut cache (buffer) album creatum nostrum. Potentia Query haec coget ut semel in memoriam album osculum onerandum sit nec iterum calculare cum postea accessus ad illud reponemus. Ad hoc faciendum, formulam nostram in alio functione involve. List.Buffer:

Mole text substitutio in potestate Query cum List.Accumulate munus

Talis caching notabilis celeritatis incrementa (per aliquotiens!) magna cum copia notitiarum initialium purgatarum dabit.

Hic perficit praeparationem libri.

Reliquum est ut strepita Home - Close and Load - Close and load to… (Domum - Close&Load - Close&Load ad ..), Per optionem eligere Sicut creare nexum (Connexionem tantum creare) et ad Excel.

Gradus 2. oneratisque data mensa

Trita hic omnia sunt. Ut ante, cum indice referente, ad aliquem locum in tabula ascendimus, deprime in tab Data ipsum Ex Tabula / Range et nostra mensa Data accipit in Power Query. Automatice addidit gradus mutatio generis (Type mutata) etiam removere potes;

Mole text substitutio in potestate Query cum List.Accumulate munus

Nullae speciales actiones praeparatoriae requiruntur ut cum eo fiant, et ad id quod maxime movemur.

Gradus 3. Praestare supplementum per List.Accumulate munus

Addamus columnam calculam ad mensam datam utendo mandato Addito columna - Custom Columna (Columna Add - Custom column)et ini nomen additae columnae in fenestra apertae (exempli gratia; corrigendum oratio) Et munus magicae List.Accumulate:

Mole text substitutio in potestate Query cum List.Accumulate munus

Reliquum est ut strepita OK - et dabimus columnam cum supplementis factis:

Mole text substitutio in potestate Query cum List.Accumulate munus

Nota quod,

  • Cum Power Query casu sensitivo sit, in penultima linea non fuit substitutio, quia in directorio "SPb", non "SPb" habemus.
  • Si plures substringuntur, ut statim in fonte data (exempli gratia, in linea 7, necesse est utrasque "S-Pb" et "Prospectus" reponere debes, tunc problemata quaelibet non gignit (dissimilis cum formulis e repositis. priorem modum).
  • Si nihil in textu fonti reponere (9th linea), tunc nulli errores (dissimilis iterum, a formulis substituendis).

Valde honestus est talis petitio celeritas. Exempli gratia, pro mensa notitiarum initialium cum quinque milium ordinum magnitudine, haec quaestio minus quam altera renovata est (sine buffering, obiter circiter 5000 secundis!)

Quam ad munus List.Accumulate operatur

In principio, hoc est finis (scribo mihi, et pro te legere) hunc articulum. Si vis non solum facere, sed etiam intelligere quomodo "sub cucullo" operatur, tunc paulo altius in cuniculi foramen intendere debebis et munus habebis cum List.Accumulate, quae tota mole reponenda est. operatur in nobis.

Syntaxis huius functionis est:

= List.Accumulate(album, semen, Accumulator)

ubi

  • album cuius elenchus iteramus. 
  • semen - initialis
  • Accumulator - functio quae aliquam operationem (mathematicalem, textum, etc.) exercet in proximo elemento indicem et effectus processus in speciali variabili accumulat.

In genere syntaxis ad functiones scribendas in Power Query hoc spectat:

(argument1, argument2, ... argumentN) => actiones quaedam cum argumentis

Exempli gratia: munus summationis repraesentari potest;

(a, b) => a + b

Pro List.Accumulate, hic accumulator munus habet duas rationes requisitas (nihil nominari possunt, sed nomina usitata sunt. statum и Currentut in officio officii, ubi;

  • statum - variabilis ubi effectus cumulatur (causa eius initialis est de quo supra semen)
  • Current - altera iteratur valorem ex indice album

Exempli gratia: Videamus vestigia constructionis logicae sequentis:

= List.Accumulate({3, 2, 5}, 10, status, current => status + current)

  1. Variabilis pretii statum ponitur prima ratio semenIe status = 10
  2. Primum elementum album sumimus (vena = 3) et addere eam variabilis statum (decem). Et dabimus tibi status = 13.
  3. Alterum elementum accipimus elencho (vena = 2) et plus ad valorem currenti exaggeratum in variabili statum (decem). Et dabimus tibi status = 15.
  4. Tertium elementum elenchum sumimus (vena = 5) et plus ad valorem currenti exaggeratum in variabili statum (decem). Et dabimus tibi status = 20.

Hoc est tardus exaggeratus statum valor noster List.Accumulate munus et outputs ut effectus:

Mole text substitutio in potestate Query cum List.Accumulate munus

Si paululum phantasiasas, tunc utens munere List. Accumulate, simulare potes, exempli gratia, munus Praecelsum concatenatum (in Power Query, eius analogon vocatur. Text.Combine) Utens locutione:

Mole text substitutio in potestate Query cum List.Accumulate munus

Vel etiam maximum valorem quaerere (imitatio functionis Excell's MAX, quae in Potentia Query appellatur List.Max):

Mole text substitutio in potestate Query cum List.Accumulate munus

Praecipuum tamen notae List. Accumulate facultas ad processum non solum textus simplices vel numeros indices ut argumenta, sed res magis implicatas — exempli gratia, indices-ex-lists vel lista-ex-recordibus (salve, Directory!)

Rursus inspiciamus constructionem, quae substitutio in problemate nostro praestita est:

List.Accumulate (Directory, [Oratio], (Status, current) => Text.Replace(statu, current[Invenio], current [Repone]) )

Quid hic agitur?

  1. Ut valorem (semen) primum inepti textum e columnae [Oratio] mensam nostram: 199034, St. Petersburg, str. Beringa, d. 1
  2. Deinde List.Accumulate in elementis per unum album iterat - History. Unumquodque huius indices est index constans duobus agris "Quae invenire - Quid reponere cum" vel, id est, sequenti linea in indicem.
  3. Accumulator munus ponit in variabili statum valorem (prima oratio 199034, St. Petersburg, str. Beringa, d. 1) et accumulator munere fungitur in eo - postea operationem utens vexillum M-munus Text.Replace (analogous to Praecedo's SUBSTITUTE function). Syntaxis ejus est:

    Text.Replace(textus originalis, quod quaerimus, quod cum reponimus)

    et hic habemus;

    • statum oratio nostra sordida, quae iacet in statum (Unde e * semen)
    • vena [Quaerere] - ager valorem Invenire ex altera iteratur ingressum in album Directoryquod est in invariabili Current
    • current [Restitue] - ager valorem Substitutus ex altera iteratur ingressum in album Directoryiacentem in Current

Sic, pro unaquaque inscriptione, plenus cyclus enumerationis omnium linearum in indicem currit omni tempore, textum reponens campi cum valore ab agro [Repone].

Spero autem idea

  • Mole reponere textum in indice utendi formulae
  • Expressiones regulares (RegExp) in Power Query

Leave a Reply