Vnorené výrazy: Prostredia Power Query

V tomto návode sa dozviete o vnorených výrazoch, objektoch a prostrediach v . Vnorené výrazy a premenné sa použijú na diskusiu o tom, ako fungujú prostredia a pomôžu pri generovaní údajov. Naučíte sa tiež zaobchádzať s bežnými scenármi pri transformácii vnorených objektov.

Obsah

Vytváranie vnorených výrazov

Výrazy sú definované ako vzorec používaný na vytvorenie hodnoty.

Vnorené výrazy: Prostredia Power Query

Výraz v riadku vzorcov je vytvorený z čiastkových výrazov. Literály 1 a 2 sú podvýrazy rodičovského výrazu.

Premenné sú definované ako pomenované hodnoty. Toto je vzorový záznam.

Vnorené výrazy: Prostredia Power Query

Ak otvoríte okno rozšíreného editora, môžete vidieť premenné použité v dotaze.

Vnorené výrazy: Prostredia Power Query

Každá z premenných a , b a c predstavuje hodnotu, ktorá je výsledkom výrazu, ktorý často nájdete za znakom rovnosti. Všetky premenné v nadradenom výraze, ktorým je samotný záznam, tvoria prostredie tohto záznamu. V tomto prostredí musí byť každá premenná jedinečná.

Ak teda pridáte ďalšiu premennú s názvom c , pod oknom rozšíreného editora sa zobrazí chybové hlásenie.

Vnorené výrazy: Prostredia Power Query

Vnorené výrazy: Prostredia Power Query

Záznam môže pristupovať ku všetkým svojim podvýrazom pomocou identifikátorov alebo názvov premenných. Pre vnorené výrazy v zázname je však každé prostredie iné, pretože môžu pristupovať ku všetkým ostatným premenným v zázname okrem seba.

V tomto príklade môžete vidieť, že premenná c odkazuje sama na seba.

Vnorené výrazy: Prostredia Power Query

Ak stlačíte tlačidlo Hotovo, zobrazí sa chybové hlásenie.

Vnorené výrazy: Prostredia Power Query

Ak extrahujete hodnotu c pridaním operátora prístupu k položke, dostanete výsledok. Rovnaký výsledok môžete získať aj s výrazom let , pretože sa naň vzťahujú rovnaké pravidlá.

Vnorené výrazy: Prostredia Power Query

Pochopenie vnorených výrazov v prostredí

Toto je ďalší príklad rekordnej hodnoty.

Vnorené výrazy: Prostredia Power Query

Ak otvoríte okno rozšíreného editora, uvidíte, že premenné aab zdieľajú rovnaké prostredie, ktoré je najvzdialenejším prostredím. Tiež uvidíte, že premenné x , y a z sú podvýrazy rodičovského výrazu a .

Vnorené výrazy: Prostredia Power Query

Každá premenná má prístup ku všetkým ostatným premenným v rámci vnoreného záznamu okrem seba. Môžete zavolať premennú, ktorá existuje v inom prostredí. V tomto príklade môžete vidieť, že z odkazuje na b , ktoré je vo vonkajšom prostredí.

Vnorené výrazy: Prostredia Power Query

Premenné x , y a z môžu pristupovať k b , pretože b je súčasťou ich nadradeného výrazového prostredia. Môžete mať tiež rovnakú premennú, ale v rôznych prostrediach.

V tomto ďalšom príklade môžete vidieť, že vnútorný a vonkajší záznam má premennú x .

Vnorené výrazy: Prostredia Power Query

Premenné musia byť jedinečné vo svojom vlastnom prostredí. Použije sa najbližšie x priradené k premennej. V tomto vzorovom dotaze sa používa vnútorné x , pretože je bližšie z pohľadu záznamu a .

Vnorené výrazy: Prostredia Power Query

V tomto ďalšom dotaze sa vo výraze používa najbližšie x , ktoré je blízko premennej b .

Vnorené výrazy: Prostredia Power Query

Vonkajšia premenná b môže odkazovať na premennú x vo vnútri záznamu a pomocou operátora prístupu k položke. Musíte odkazovať na premennú a a potom pristupovať k x pomocou sady hranatých zátvoriek. Rovnakým spôsobom môže záznam a odkazovať na premennú x vo vnútri premennej b .

Vnorené výrazy: Prostredia Power Query

Keď sa prostredie vnoreného záznamu a zlúči s premennými z rodičovského výrazu, vedie to ku konfliktu, pretože x existuje dvakrát a všetky premenné musia byť vo svojom prostredí jedinečné. Keďže premenná nemôže odkazovať na seba, konflikt je vyriešený odkazom na vonkajšie x.

Vnorené výrazy: Prostredia Power Query

Riešenie bežných scenárov

Bežným scenárom je transformácia vnorených objektov. Na demonštráciu bude použitá táto tabuľka.

Vnorené výrazy: Prostredia Power Query

Ak chcete získať hodnotu z vonkajšej tabuľky a umiestniť ju do vnorenej tabuľky, existujú dva spôsoby, ako to dosiahnuť. Prvým spôsobom je použitie možnosti Pridať vlastný stĺpec .

Kliknite na ikonu tabuľky v ľavom hornom rohu tably náhľadu a vyberte Pridať vlastný stĺpec.

Vnorené výrazy: Prostredia Power Query

Zadajte Temp ako názov stĺpca a zadajte zástupný symbol do vlastného. Po dokončení stlačte tlačidlo OK.

Vnorené výrazy: Prostredia Power Query

Vo vnútri riadka vzorcov nahraďte každý výraz vlastnou funkciou pridaním stĺpca do vnorenej tabuľky. Spustite logiku pre vlastnú funkciu a nazvite ju OT pre vonkajšiu tabuľku. Potom pridajte znamenie go-to.

Potom pomocou funkcie Table.AddColumn pridajte stĺpec. Pozrite si tabuľku vo vonkajšej tabuľke v stĺpci Názvy. Potom zadajte nový názov stĺpca.

V tomto príklade je použitý názov stĺpca Výnosy . Zadajte každú funkciu, aby ste získali hodnoty každého riadka v stĺpci Získať výnosy.

Vnorené výrazy: Prostredia Power Query

Ak kliknete na priestor vo vnútri bunky riadka v stĺpci Temp, pod tablou náhľadu sa zobrazí ukážka vnorenej tabuľky. Uvidíte, že každý riadok má hodnotu vonkajšej tabuľky.

Vnorené výrazy: Prostredia Power Query

Použitie premenných na ukladanie hodnôt

Druhým spôsobom transformácie vnorených objektov je použitie premenných na ukladanie hodnôt. Najprv pridajte vlastný stĺpec a zadajte Temp2 ako názov stĺpca. Pre vzorec použite výraz let na uloženie hodnôt do premenných.

Zadajte let a potom napíšte názov premennej. V tomto príklade je názov premennej myR . Potom prirovnajte premennú k stĺpcu Získať výnosy. Potom zadajte klauzulu in a pomocou funkcie Table.AddColumn pridajte stĺpec do vnorenej tabuľky.

Pre prvý parameter funkcie zadajte stĺpec Názvy, ktorý obsahuje vnorené tabuľky. Potom pomenujte nový stĺpec Výnosy. Použite každú na volanie premenných každého riadku.

Vnorené výrazy: Prostredia Power Query

Ak kliknete na medzeru vo vnútri bunky riadka v stĺpci Temp2, uvidíte, že sa získali hodnoty z vonkajšej tabuľky.

Vnorené výrazy: Prostredia Power Query

Ďalším bežným scenárom je vyhľadávanie, kde neexistuje žiadny zdieľaný kľúč. Pre tento scenár sa použijú 2 vzorové tabuľky: tabuľka kategórií a tabuľka produktov .

Vnorené výrazy: Prostredia Power Query

Vnorené výrazy: Prostredia Power Query

Použite tabuľku kategórií ako predbežný dotaz na doplnenie atribútov tabuľky rozmerov produktu. Keďže neexistuje žiadny zdieľaný kľúč, zlúčenie sa nedá vykonať. Prvá vec, ktorú musíte urobiť, je vnoriť celú tabuľku kategórií do dotazu tabuľky produktov pomocou Pridať vlastný stĺpec.

Pridajte vlastný stĺpec a ako názov stĺpca napíšte Kategóriu. Potom vo vlastnom vzorci zavolajte dopyt kategórie.

Vnorené výrazy: Prostredia Power Query

Potom ste teraz vnorili úplnú tabuľku kategórií do každého riadku tabuľky produktov.

Vnorené výrazy: Prostredia Power Query

Keď kliknete na priestor vo vnútri bunky riadka v stĺpci Kategória, v každom riadku sa zobrazí úplná tabuľka kategórií.

Vnorené výrazy: Prostredia Power Query

Načítanie jednej hodnoty

Ak chcete získať iba jednu hodnotu, musíte filtrovať tabuľku kategórií na jeden riadok, kde sa časť reťazca z produktu zhoduje so skupinou produktov v tabuľke kategórií.

Otvorte dialógové okno Custom Column (Vlastný stĺpec) stlačením tlačidla ozubeného kolieska vedľa položky Added Custom (Pridané vlastné) na table Applied Steps (Použité kroky).

Vnorené výrazy: Prostredia Power Query

Do vzorca pridajte funkciu Table.SelectRows . Pre prvý parameter sa používa tabuľka Category. Druhý parameter použil ako podmienku funkciu Text.Contains . Pre vnútornú tabuľku táto funkcia kontroluje, či text obsahuje časť z produktového reťazca vo vonkajšej tabuľke.

Vnorené výrazy: Prostredia Power Query

Pri prístupe k vonkajšiemu stolu si to všimnetepridá každé kľúčové slovo do riadka vzorcov. Je to unárna funkcia, ktorá berie podčiarkovník ( _ ) ako bezmennú premennú. Keďže však pristupujete iba k stĺpcu, môžete ho vynechať.

Vnorené výrazy: Prostredia Power Query

Ak kliknete na priestor vo vnútri bunky riadka v stĺpci Kategória, v každej z vnorených tabuliek sa teraz zobrazí jeden riadok.

Vnorené výrazy: Prostredia Power Query

Odtiaľ môžete extrahovať hodnotu pre kategóriu kombináciou operátorov prístupu k riadkom a poliam.

Vráťte sa do dialógového okna Vlastný stĺpec a pridajte operátory do vzorca. Ak chcete získať prvý riadok tabuľky, zadajte 0 do množiny zložených zátvoriek. Potom zadajte názov poľa Kategória do hranatých zátvoriek.

Vnorené výrazy: Prostredia Power Query

Ak chcete riešenie zabezpečiť aj v budúcnosti, môžete na koniec pridať otáznik ( ? ), aby ste zmenili správanie typu nenájdené z vrátenia chyby na hodnotu null.



Záver

Prostredia a vnorené výrazy pomáhajú vášmu dotazu získať určité hodnoty z vašich kódov, aby ste získali požadované výsledky. Uvedomiť si ich je dôležité pri písaní, pretože keď im porozumiete, budete schopní riešiť pokročilejšie a zložitejšie scenáre.

Melissa


Pipe In R: Propojovací funkce s Dplyr

Pipe In R: Propojovací funkce s Dplyr

V tomto tutoriálu se naučíte, jak zřetězit funkce dohromady pomocí operátoru potrubí dplyr v programovacím jazyce R.

RANKX Deep Dive: Funkce LuckyTemplates DAX

RANKX Deep Dive: Funkce LuckyTemplates DAX

RANKX od LuckyTemplates umožňuje vrátit pořadí konkrétního čísla v každém řádku tabulky, který tvoří součást seznamu čísel.

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Naučte sa, ako rozobrať súbor PBIX, aby ste extrahovali motívy a obrázky LuckyTemplates z pozadia a použili ich na vytvorenie správy!

Cheat Sheet pre vzorce Excel: Stredne pokročilý sprievodca

Cheat Sheet pre vzorce Excel: Stredne pokročilý sprievodca

Cheat Sheet pre vzorce Excel: Stredne pokročilý sprievodca

Tabuľka kalendára LuckyTemplates: Čo to je a ako ju používať

Tabuľka kalendára LuckyTemplates: Čo to je a ako ju používať

Tabuľka kalendára LuckyTemplates: Čo to je a ako ju používať

Python v LuckyTemplates: Jak nainstalovat a nastavit

Python v LuckyTemplates: Jak nainstalovat a nastavit

Naučte se, jak nainstalovat programovací jazyk Python do LuckyTemplates a jak používat jeho nástroje k psaní kódů a zobrazování vizuálů.

Výpočet dynamických ziskových marží – snadná analýza LuckyTemplates s DAX

Výpočet dynamických ziskových marží – snadná analýza LuckyTemplates s DAX

Zjistěte, jak vypočítat dynamické ziskové marže u LuckyTemplates a jak můžete získat více informací tím, že se ponoříte hlouběji do výsledků.

Triedenie stĺpcov tabuľky dátumov v LuckyTemplates

Triedenie stĺpcov tabuľky dátumov v LuckyTemplates

Zistite, ako správne zoradiť polia zo stĺpcov tabuľky s rozšíreným dátumom. Toto je dobrá stratégia pre náročné polia.

Nájdite svoje najlepšie produkty pre každý región v LuckyTemplates pomocou jazyka DAX

Nájdite svoje najlepšie produkty pre každý región v LuckyTemplates pomocou jazyka DAX

V tomto článku vám ukážem, ako môžete nájsť svoje najlepšie produkty podľa regiónu pomocou výpočtov DAX v LuckyTemplates vrátane funkcií TOPN a CALCULATE.

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Nevyžiadaná dimenzia: Čo to je a prečo je to čokoľvek iné ako odpad

Zistite, ako používať dimenziu nevyžiadanej pošty pre príznaky nízkej mohutnosti, ktoré chcete efektívne začleniť do svojho dátového modelu.