Power Query M: Střídavý vzor 0-1 v tabulce data

Tento výukový program se zaměřuje na použití funkce Power Query M number.mod k vytvoření střídavého vzoru 0-1 v tabulce Datum. Řešení, které vám ukážu, pochází od jednoho z našich komunitních uživatelů, Rajeshe, na LuckyTemplates. Celé video tohoto tutoriálu si můžete prohlédnout ve spodní části tohoto blogu.

Cílem je vygenerovat posloupnost čtyř nul střídaných čtyřmi jedničkami a poté ji opakovat po celý den.

Power Query M: Střídavý vzor 0-1 v tabulce data

Rajesh byl na místě s jeho analýzou a rozčleněním problému pomocí funkce Power Query M k jeho vyřešení. Po tom, co bylo řečeno, přejděme k Power Query.

Obsah

Funkce Power Query M Number.Mod

TheM, konkrétně funkce number.mod, bude jádrem našeho řešení. Co to dělá?

Interní dokumentaci libovolné funkce M můžete zkontrolovat zadáním jejího názvu bez závorek, jak je znázorněno zde na řádku vzorců. Tato funkce vrací zbytek celočíselného dělení. Zabírá až tři parametry, první dva, číslo a dělitel, což je také číslo.

Power Query M: Střídavý vzor 0-1 v tabulce data

Nyní začneme. Vyberu svůj vzorový dotaz, který obsahuje časové období, které jsem připravil.

Power Query M: Střídavý vzor 0-1 v tabulce data

V mnoha případech se number.mod používá v kombinaci se sloupcem indexu, který se pak používá jako jeho první parametr. Ale neudělám to, protože když se nad tím zamyslíte, hodnota data je celé číslo. Takže vytvoření indexu, který sdílí stejnou granularitu jako sloupec Datum, kde má každý řádek jedinečnou hodnotu, je něco, čemu se můžeme vyhnout.

Vše, co musíme udělat, abychom napodobili index, je odečíst úplně první datum v naší tabulce Datum od každého data ve sloupci Datum. K tomu můžeme uložit hodnotu počátečního data do proměnné, abychom ji mohli používat znovu a znovu. Pokročilý editor je podle mě nejlepší místo, jak to udělat.

Takže otevřuokno a vytvořte novou proměnnou. Říkejme tomu StartDate . Zde jsem napevno zakódoval své první datum, takže jej zkopíruji a vložím. Nezapomeňte na čárku na konci a nyní můžeme toto první datum nahradit naší proměnnou Datum zahájení.

Power Query M: Střídavý vzor 0-1 v tabulce data

Jak vidíte, nic se nezměnilo.

Power Query M: Střídavý vzor 0-1 v tabulce data

Vytvoření vlastního sloupce pro vzor Power Query M

Takže prostřednictvím této mini tabulky přidáme vlastní sloupec.

Power Query M: Střídavý vzor 0-1 v tabulce data

Nazvěme tento sloupec Vzor a zadejte funkci Power Query M číslo.mod . Zde vidíte dva parametry, číslo jako nullovatelné číslo a dělitel jako nullovatelné číslo. Vyžaduje tedy dvě hodnoty typu čísla jako parametry.

Power Query M: Střídavý vzor 0-1 v tabulce data

Teď nemáme čísla, že? Máme data a není v nich automatická konverze typu. Potřebujeme tedy získat číslo z naší hodnoty data. Takže sem zadáme číslo.odkud pak náš sloupec Datum a odečteme naši proměnnou StartDate.

Power Query M: Střídavý vzor 0-1 v tabulce data

Nyní řekněme první rande v našemvrátí jedničku, pak naše StartDate také vrátí jedničku. A tak jedna mínus jedna se rovná nule. Chci, aby naše číslování indexu začínalo jedničkou místo nuly. Takže budeme muset přidat jeden zpět plus jeden. Nyní jedna mínus jedna se rovná nule plus jedna vrátí jedničku pro první záznam.

Power Query M: Střídavý vzor 0-1 v tabulce data

Pro druhý záznam získáme hodnotu dvě (2) pro datum ve sloupci Datum, mínus jedna (1) z naší hodnoty StartDate, která se rovná jedné, plus ta, kterou přidáváme zpět, vrátí dvě atd. . Náš opakující se vzorec byl založen na sérii čtyř střídajících se hodnot. Takže jako dělitel předám hodnotu čtyři (4).

Power Query M: Střídavý vzor 0-1 v tabulce data

Podívejme se, co to udělá. V řadě čtyři dostaneme nulu, stejně jako v řadě osm. Takže každý čtvrtý výskyt vrátí pro daný záznam nulovou hodnotu.

Power Query M: Střídavý vzor 0-1 v tabulce data

Vytvoření konstrukce IF-THEN-ELSE

Vraťme se k našemu dialogovému oknu pro zákazníky a rozšiřme logiku, kterou jsme dosud napsali. S výjimkou dělitele musíme opakovat stejnou logiku, abychom byli schopni identifikovat osmý výskyt.

Na tomto osmém řádku však chceme jinou hodnotu. Abychom tedy rozlišili mezi čtvrtým a osmým výskytem, ​​můžeme použít konstrukci IF-THEN-ELSE. Tímto způsobem můžeme vrátit hodnotu pro první logický test, který vrátí hodnotu true.

Takže If , a já sem vložím zpět náš kód (kromě dělitele), změňte tohoto dělitele na osmičku, takže osmý řádek vrátí nulu. Takže pokud se to rovná nule, znamená to, že cesta k pravdivosti nebo nepravdě selže. Pak chceme jedničku (1). Jinak , pokud zde naše logika identifikuje čtvrtý řádek rovný nule, pak chceme nulu (0). Jinak nechceme získat hodnotu zpět. Přidejme tedy null .

Power Query M: Střídavý vzor 0-1 v tabulce data

Nyní znovu zkontrolujme naši logiku. Takže při každém čtvrtém výskytu dostaneme nulu. A pak, osmého, dostaneme jedničku. Dále dostaneme nulu a jedničku a tak dále.

Tak tohle vypadá dobře. Vše, co nyní musíme udělat, je naplnit tyto hodnoty.

Power Query M: Střídavý vzor 0-1 v tabulce data

Takže do řádku vzorců přidáme na začátek Table.FillUp a pak nějaké otevírací závorky. Na konec našeho kódu přidáme typové číslo – musíme také přidat sloupec jako seznam. Takže dáme čárku , pak použijeme složené závorky pro inicializátor seznamu a jako textovou hodnotu předáme do názvu našeho sloupce, Vzor . Nezapomeňte na závorku a stiskněte OK.

Power Query M: Střídavý vzor 0-1 v tabulce data




Závěr

Toto je velmi unikátní scénář a upřímně, nenapadá mě aplikace pro tento konkrétní vzor, ​​ale doufejme, že můžete vidět potenciál vytváření sekvencí pomocí funkce Power Query M, number.mod.

Pro více podrobností se podívejte na celé video níže pro tento tutoriál.

Vše nejlepší!

Melissa


Tabulky proporcí a četností v Excelu

Tabulky proporcí a četností v Excelu

Chtěli jsme se ponořit do tabulek četností v Excelu a také do tabulek proporcí. Podívejte se, co to je a kdy je použít.

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.