LuckyTemplates Power Query: Odstranění duplicitních řádků

V tomto blogu vám ukážu, jak odstranit duplicitní řádky v Power Query LuckyTemplates na základě podmínek. Celé video tohoto tutoriálu si můžete prohlédnout ve spodní části tohoto blogu.

Tento příklad je z otázky, která byla vznesena na. Člen má transakční data a chce odstranit řádky, které se navzájem ruší.

Existují dva odlišné typy transakcí, jeden pro příchozí a jeden pro odchozí. Také přidala počet pohybů. A na základě toho zformulovala tři scénáře.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Scénář jedna je založen na dvou řádcích. Pokud se navzájem vyruší, měly by být odstraněny oba řádky. Pokud tomu tak není, měly by být zachovány oba řádky.

Scénáře dva a tři jsou založeny na kombinaci řádků, které se částečně navzájem ruší. Tyto řádky by měly být odstraněny na principu první dovnitř, první ven, aby byly zachovány pouze nejnovější příchozí transakce.

V podstatě stále dokola opakujeme stejnou logiku. Měli bychom být schopni navrhnout jediný přístup, který by vyhovoval všem těmto scénářům.

Některé z věcí, které uděláme, je přidání sloupce s absolutními množstvími a seskupení podle „přidat sloupec množstevní rovnováhy“ a vnořenou tabulku pomocí možnosti „všechny řádky“. Také transformujeme tyto vnořené tabulky, seřadíme typ pohybu a datum zaúčtování, vytvoříme průběžný součet a ponecháme řádky pouze na základě podmínky.

Hodnotil jsem to na středně pokročilé úrovni, protože většina transformací, které zde můžeme provést, je pomocí uživatelského rozhraní. S tím, co bylo řečeno, pojďme k Power Query LuckyTemplates.

Obsah

Přidání sloupce s absolutními množstvími v Power Query

Začneme přidáním sloupce s absolutními veličinami. Vyberte sloupec Množství , poté na pásu nebo kartě Přidat sloupec přejděte na Vědecké a poté klikněte na Absolutní hodnota .

LuckyTemplates Power Query: Odstranění duplicitních řádků

Přejmenuji tento sloupec v řádku vzorců.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Seskupit podle ID indexu a absolutního množství

Nyní můžeme seskupit podle ID indexu a absolutního množství. Vyberte ID Index , poté podržte klávesu Shift nebo Ctrl pro vícenásobný výběr a poté klikněte na Abs qty (absolutní množství).

LuckyTemplates Power Query: Odstranění duplicitních řádků

Seskupit podle najdete na kartě Transformace.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Najdete jej však také na kartě Domů.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Klikněte na něj a nyní přidáme nový sloupec. Není to „počet“, ale bude to „součet“ množství. Přejmenujme jej tedy na Qty (množství) Balance . Bude to součet sloupce množství. A pak přidáme další agregaci, ale bude to speciální, takže vybereme Všechny řádky . Pojmenujme také tento sloupec ( AllRows ). Poté stiskněte tlačítko OK.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Klikneme-li do bílého místa v tabulce, uvidíme níže náhled vnořené tabulky. Vidíme, že množství pro tuto vnořenou tabulku se navzájem ruší a bilance množství je nulová.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Pokud se podíváme na další vnořenou tabulku (takže klikneme na stranu do prázdného místa dalšího řádku), vidíme, že sloupec množství se navzájem neruší a zůstatek množství je větší než nula.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Pojďme přidat vlastní sloupec, abychom jej mohli později použít pro transformace vnořených tabulek. Vyberte tedy Přidat vlastní sloupec .

LuckyTemplates Power Query: Odstranění duplicitních řádků

Přejmenujme ten sloupec naa přidáme nulu (0) jako zástupný symbol. Potom klepněte na tlačítko OK.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Transformace vnořených tabulek v Power Query LuckyTemplates

Nyní jsme připraveni vytvořit logiku pro transformaci těchto vnořených tabulek. Ale hromadu jich psát nechceme a ani nepotřebujeme.

Z velké části můžeme používat uživatelské rozhraní. Pokud vytvoříme logiku pro tyto transformace v samostatném dotazu, nejpropracovanější scénář, který jsme měli, byl ten se třemi nebo čtyřmi řádky.

Nyní, když kliknu na pravou stranu v posledním řádku, vidím, že tato tabulka má čtyři řádky. Takže to můžeme použít k vytvoření našich transformací.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Klikněte pravým tlačítkem na stranu v prázdném prostoru a vyberte Přidat jako nový dotaz .

LuckyTemplates Power Query: Odstranění duplicitních řádků

Vidíme, že vnořená tabulka se nyní rozšířila a byla přidána jako nový dotaz a můžeme to použít k vytvoření logiky, kterou potřebujeme.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Typ řazení a datum zaúčtování

Nyní, první věc, kterou musíme udělat, je seřadit podle typu pohybu . Zvolme sestupně . Tímto způsobem budou odchozí transakce vždy nahoře.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Dále seřadíme Datum zaúčtování jako vzestupně , přičemž zajistíme, že pokud vynecháme řádky, bude to vždy provedeno podle principu FIFO (first in first out).

LuckyTemplates Power Query: Odstranění duplicitních řádků

Vytvoření průběžného součtu

Abychom identifikovali řádky, které se chystáme odstranit, přidám průběžný součet pro zakázání a pro tento úkol můžeme použít List.FirstN . Tato funkce vytvoří seznam založený na jiném seznamu, kde jsou top položky vedeny na základě konkrétního čísla nebo kritéria.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Vraťme se k našemu dotazu. Pro List.FirstN potřebujeme dvě věci. Nejprve potřebujeme tento seznam a tento seznam je náš sloupec Množství . Pokud kliknu pravým tlačítkem na záhlaví sloupce Množství, dostaneme možnost Přidat jako nový dotaz .

LuckyTemplates Power Query: Odstranění duplicitních řádků

A zde vidíme kód, který potřebujeme k vygenerování tohoto seznamu. V použitém kroku můžete vidět, že ukazuje na poslední krok a pak identifikuje sloupec v těchto závorkách.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Druhá část, kterou potřebujeme pro List.FirstN, je číslo, které identifikuje, kolik čísel si z tohoto seznamu ponechat. Můžeme k tomu použít index, takže pro tento řádek přidám sloupec indexu od jednoho (1).

LuckyTemplates Power Query: Odstranění duplicitních řádků

Takže pro číslo 1 zůstane číslo na prvním řádku ve sloupci Množství a tak dále. A nyní to můžeme shrnout.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Pojďme přidat vlastní sloupec a nazvěme jej Průběžný součet . Použijeme zde List.FirstN a vidíme, že prvním parametrem byl tento seznam, sloupec Množství. Musíme ukázat na poslední krok a tím posledním krokem je Added Index .

LuckyTemplates Power Query: Odstranění duplicitních řádků

Identifikovali jsme sloupec, který chceme, a to je náš sloupec Množství. Náš počet je ve sloupci Index.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Nyní vrátí seznam. Pokud klikneme na stranu do bílého prostoru, můžeme vidět obsah tohoto seznamu. Pro první záznam si ponechal pouze horní řádek z tohoto seznamu. Pro druhý rekord si ponechalo první dvě řady.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Nyní vše, co musíme udělat, je sečíst tato množství a můžeme k tomu použít Lists.Sum . Takže to přidám do řádku vzorců. A taky dám Type .

LuckyTemplates Power Query: Odstranění duplicitních řádků

Filtrování řádků Na základě podmínky

Pomocí tohoto průběžného součtu můžeme identifikovat řádky, které chceme zachovat. Chceme zachovat pouze řádky, které jsou větší než nula, takže přidáme podmínku filtru.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Nyní můžeme odstranit naše pomocné sloupce. Vyberte Index a Průběžný součet a poté klikněte na Odebrat sloupce.

LuckyTemplates Power Query: Odstranění duplicitních řádků

V pokročilém editoru nyní můžeme zkopírovat kód, který jsme vytvořili. Otevřu a uvidíme, že toto je náš dělený krok. Takže můžeme vybrat a zkopírovat vše pod tím.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Nyní se vraťme k původnímu dotazu. Znovu otevřete Rozšířený editor. A místo zástupného symbolu se přesuneme na nový řádek. Použiji výraz „ let “, protože dokáže zachytit hodnoty z mezivýpočtů v proměnných. Takže „nechte“ a pak přejděte na nový řádek a vložte své transformace. Také deklaruji Typ .

LuckyTemplates Power Query: Odstranění duplicitních řádků

Zvýrazněný kód výše ukazuje na naši rozšířenou vnořenou tabulku, která je umístěna ve sloupci Všechny řádky. Takže na to poukážu tím, že tento zvýrazněný kód nahradím AllRows .

Takže náš transformační sloupec má nyní vnořené tabulky. Náš dotaz vytváříme na základě posledního řádku, že? A to obsahovalo čtyři řady, když jsme začínali, a obsahovalo pouze dva. Taky máme ty kvantity vyrovnané nulou, že? A teď má prázdný stůl.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Můžeme je odstranit filtrováním ve sloupci Zůstatek množství. Nechceme, aby se množstevní bilance rovnala nule.

LuckyTemplates Power Query: Odstranění duplicitních řádků

A pak vyberu svůj transformační sloupec a odstraním ostatní sloupce. Nyní mohu rozšířit své transformační vnořené tabulky. Nepoužívejte původní název sloupce jako předponu a stiskněte OK.

LuckyTemplates Power Query: Odstranění duplicitních řádků

Na kartě Transformace vyberte Typ dat a máme hotovo. A takto vyčistíte transakční data.




Závěr

V tomto tutoriálu jsem vám ukázal, jak vyčistit transakční data, konkrétně odstranit duplicitní řádky. Toto je skvělá technika, kterou můžete použít při používání LuckyTemplates Power Query.

Doufám, že se vám to líbilo. Podívejte se na kompletní video tutoriál níže, kde najdete další podrobnosti. Podívejte se také na odkazy níže, kde najdete další související obsah kolem LuckyTemplates Power Query Editor.

Na zdraví!

Melissa

Leave a Comment

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Extrahovanie motívov a obrázkov LuckyTemplates z PBIX

Naučte se, jak rozebrat soubor PBIX a extrahovat motivy a obrázky LuckyTemplates z pozadí pro váš report!

Prehľad a vytvorenie domovskej stránky SharePointu

Prehľad a vytvorenie domovskej stránky SharePointu

Naučte sa, ako vytvoriť domovskú stránku SharePointu, ktorá sa predvolene načítava, keď používatelia zadajú adresu vašej webovej lokality.

Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.