Vytvoření vlastní funkce čištění textu v Power Query

V tomto příspěvku na blogu se blíže podíváme na vlastní funkci pro čištění textu, kterou jsem vytvořil pro naši probíhající sérii v LuckyTemplates TV s názvem . Celé video tohoto tutoriálu si můžete prohlédnout ve spodní části tohoto blogu.

Pro týden #2 máme nějaká chaotická data, která potřebují vyčistit. Naším cílem je vyčistit všechny textové hodnoty v obou sloupcích.

Pro tento úkol jsem vytvořil funkci čistého textu.

Vytvoření vlastní funkce čištění textu v Power Query

Nejprve se ale pojďme rychle podívat na M kód.

Vytvoření vlastní funkce čištění textu v Power Query

Tato funkce trvá jednus názvem myText. Jeho hodnota by měla být typu text a funkce by měla vracet textovou hodnotu, protože ne všechny níže uvedené proměnné vrátí textovou hodnotu.

Vytvoření vlastní funkce čištění textu v Power Query

Deklarování návratového typu povede k chybě. Aby se tato chyba nestala, mohu to zatím okomentovat.

Vytvoření vlastní funkce čištění textu v Power Query

Pokud chceme vidět, co vrací první proměnná, stačí na ni odkazovat jménem za klauzulí in. Takže zkopíruji proměnnou ToRemove, vložím ji na spodní řádek a stisknu OK.

Vytvoření vlastní funkce čištění textu v Power Query

Abychom viděli výsledek této funkce, musíme ji vyvolat. Pojďme tedy k tomuto dotazu přidat vlastní sloupec.

Vytvoření vlastní funkce čištění textu v Power Query

Poté vyvolejte naši funkci, vyberte tento sloučený sloupec a stiskněte OK.

Vytvoření vlastní funkce čištění textu v Power Query

Obsah

Vytváření seznamů z prázdného dotazu

Nyní vidíme, že krok ToRemove vytvoří seznam. Ve skutečnosti jde o kombinaci dvou seznamů.

První seznam vytvořil uvozovky a druhý seznam je rozsah znaků, které jsem chtěl odstranit.

Vytvoření vlastní funkce čištění textu v Power Query

Jak jsem vytvořil tento seznam?

No, použil jsem funkci s názvem Txt.ToList.

K interní dokumentaci funkcí se dostanete vytvořením prázdného dotazu, zadáním názvu funkce bez závorek a stisknutím klávesy Enter.

Vytvoření vlastní funkce čištění textu v Power Query

Vidíme, že Text.ToList vrací seznam hodnot znaků z dané textové hodnoty.

Vložíme nějaké texty a vyvoláme tuto funkci.

Vytvoření vlastní funkce čištění textu v Power Query

Vytvoří nový dotaz a vidíte, že tento seznam obsahuje všechna písmena, která zde v textu vidíme.

Vytvoření vlastní funkce čištění textu v Power Query

Pamatujete si, že jsem přidal další seznam, že? Zkombinoval jsem dva seznamy a použil jsem k tomu ampersand.

Pojďme to teď znovu vytvořit. Použil jsem ampersand a inicializátor seznamu, pak jsem zadal tyto uvozovky.

Vytvoření vlastní funkce čištění textu v Power Query

Nyní vidíme, že uvozovky byly přidány do tohoto seznamu, ale proč jsem vytvořil seznam?

Vytvoření vlastní funkce čištění textu v Power Query

No a v dalším kroku mé funkce čištění textu jsem použil M funkci nazvanou Text. Odstranit.

Vytvoření vlastní funkce čištění textu v Power Query

A vidíte, že můžete zadat text a poté seznam znaků, které chcete z tohoto řetězce odstranit.

Vytvoření vlastní funkce čištění textu v Power Query

Vraťme se k naší funkci čištění textu.

Vytvoření vlastní funkce čištění textu v Power Query

Na. Nástroj Remove vytvořil tyto dva seznamy a poté je spojil do jednoho seznamu.

Vytvoření vlastní funkce čištění textu v Power Query

A pak vložíme proměnnou CleanText. Klauzule 'in' volá funkci M Text.Remove a předává proměnnou myText a poté volá seznam To.Remove. Podívejme se, co to udělá.

Vytvoření vlastní funkce čištění textu v Power Query

Vraťme se k našemu dotazu. To již nevrací seznam, ale vrací některé textové hodnoty.

Vytvoření vlastní funkce čištění textu v Power Query

Ořezávání v Power Query

Dalším krokem je ořezávání . Jak můžete vidět z obrázku výše, máme nějaké další mezery a koncovou čárku na konci, kterých se chceme zbavit. K tomu můžeme použít trimovací funkce. Vraťme se k dotazu, abychom prozkoumali M kód.

Do M kódu jsem vnořil 2 trimovací funkce. První funkce řetězce odstraní další mezery na začátku a na konci naší proměnné CleanText.

Vytvoření vlastní funkce čištění textu v Power Query

U zbývajících textů, které máme, také odstraníme mezery z výsledného řetězce.

Chystáme se také odstranit koncovou čárku.

Vytvoření vlastní funkce čištění textu v Power Query

Podívejme se na výsledek. Zkopíruji název proměnné, vložím jej za klauzuli „in“ a kliknu na Hotovo. Když aktualizujeme náš dotaz, můžete vidět, že další mezery zmizely a koncová čárka byla odstraněna.

Vytvoření vlastní funkce čištění textu v Power Query

V posledních krocích mého dotazu jsem právě nahradil některé textové hodnoty.

Vytvoření vlastní funkce čištění textu v Power Query

V posledním případě jsem podtržítko nahradil mezerou. Zkopírujeme to a vložíme za klauzuli 'in'. Znovu jsem také povolil návratový typ.

Vytvoření vlastní funkce čištění textu v Power Query

Vraťme se k našemu dotazu a prozkoumáme výsledky – zatím je to dobré!

Vytvoření vlastní funkce čištění textu v Power Query

Nyní nechceme vytvářet nové sloupce pro vyvolání naší funkce, že? Co můžeme udělat, je transformovat náš sloupec 1 do našeho slučovacího sloupce.

Tento krok vlastního sloupce odstraním.

Vytvoření vlastní funkce čištění textu v Power Query

Pak použiji uživatelské rozhraní k vytvoření většiny kódu pro nás. Na kartě transformace vyberte oba sloupce, přejděte na Formát a vyberte funkci.

Vytvoření vlastní funkce čištění textu v Power Query

Opravdu nezáleží na tom, která funkce je vybrána, protože toto je M kód, který je generován uživatelským rozhraním. Nyní můžeme tento text nahradit. Spodní funkce…

Vytvoření vlastní funkce čištění textu v Power Query

… s naší funkcí čistého textu. Doufejme, že chápete, proč jsem musel přidat fx dopředu. Neexistuje žádná „funkce“, která tím začíná.

Vytvoření vlastní funkce čištění textu v Power Query

Když stiskneme OK, můžete vidět, že naše texty byly vyčištěny. To je úžasné.

Vytvoření vlastní funkce čištění textu v Power Query

Závěr

Proč jsme museli projít všemi problémy při vytváření vlastní čisticí funkce? No, pokud je pravděpodobné, že budete muset tento krok opakovat nebo použít podobnou logiku v budoucnu, můžete tento funkční dotaz uložit.

Tím urychlíte vývoj dotazu v pozdější fázi. Dalším dobrým důvodem je, že je to také zábava.

Doufám, že se vám tento návod líbil. Pokud ano, nezapomeňte se přihlásit k odběru kanálu LuckyTemplates .

Melissa


Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.

Najvýkonnejšie volanie funkcie v LuckyTemplates

Najvýkonnejšie volanie funkcie v LuckyTemplates

V tomto blogu preskúmajte množinu údajov LuckyTemplates, najvýkonnejšie volanie funkcií, ktoré vám prináša tisíce funkcií M a DAX na dosah ruky.

Techniky modelovania údajov na organizáciu opatrení DAX

Techniky modelovania údajov na organizáciu opatrení DAX

V dnešnom návode sa podelím o niekoľko techník modelovania údajov o tom, ako lepšie usporiadať vaše merania DAX pre efektívnejší pracovný tok.

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates je skvelý nástroj pre finančné výkazníctvo. Tu je návod, ako vytvoriť prispôsobené tabuľky pre váš finančný dashboard LuckyTemplates.

Osvedčené postupy toku jazyka Power Query

Osvedčené postupy toku jazyka Power Query

V tomto návode sa bude diskutovať o toku jazyka Power Query a o tom, ako môže pomôcť vytvoriť hladkú a efektívnu zostavu údajov.

LuckyTemplates vlastní ikony | Vizualizační technika PBI

LuckyTemplates vlastní ikony | Vizualizační technika PBI

Budu diskutovat o jedné z mých oblíbených technik kolem vlastních ikon LuckyTemplates, která používá vlastní ikony dynamickým způsobem ve vizuálech LuckyTemplates.

Vytváření tabulek LuckyTemplates pomocí funkce UNION & ROW

Vytváření tabulek LuckyTemplates pomocí funkce UNION & ROW

V tomto blogu vám ukážu, jak můžete vytvořit tabulky LuckyTemplates pomocí vzorce, který kombinuje funkci UNION a funkci ROW.