LuckyTemplates Power Query: dubbele rijen verwijderen

LuckyTemplates Power Query: dubbele rijen verwijderen

In deze blog laat ik je zien hoe je dubbele rijen in de LuckyTemplates Power Query verwijdert op basis van voorwaarden. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

Dit voorbeeld komt uit een vraag die gesteld is op het . Het lid heeft transactiegegevens en wil rijen verwijderen die elkaar opheffen.

Er zijn twee verschillende soorten transacties, één voor inkomend en één voor uitgaand. Ze heeft ook het aantal bewegingen toegevoegd. En op basis daarvan formuleerde ze drie scenario's.

LuckyTemplates Power Query: dubbele rijen verwijderen

Scenario één is gebaseerd op twee rijen. Als ze elkaar opheffen, moeten beide rijen worden verwijderd. Als dat niet het geval is, moeten beide rijen behouden blijven.

Scenario's twee en drie gaan uit van een combinatie van rijen die elkaar deels opheffen. Die rijen moeten worden verwijderd op basis van first-in-first-out, zodat alleen de laatste inkomende transacties worden bewaard.

Kortom, we herhalen dezelfde logica keer op keer. We zouden in staat moeten zijn om één enkele aanpak te ontwerpen die past bij al deze scenario's.

Enkele van de dingen die we gaan doen, zijn een kolom toevoegen met absolute hoeveelheden en groeperen door "een hoeveelheidsbalanskolom toe te voegen" en een geneste tabel met behulp van de optie "alle rijen". We transformeren ook die geneste tabellen, sorteren het bewegingstype en de boekingsdatum, maken een lopend totaal en behouden alleen rijen op basis van een voorwaarde.

Ik heb dit op een gemiddeld niveau beoordeeld omdat de meeste transformaties die we hier kunnen doen, zijn door de gebruikersinterface te gebruiken. Met dat gezegd, gaan we naar de LuckyTemplates Power Query.

Inhoudsopgave

Kolom toevoegen met absolute hoeveelheden in de Power Query

We beginnen met het toevoegen van een kolom met absolute hoeveelheden. Selecteer de kolom Hoeveelheid en ga vervolgens op het lint of tabblad Kolom toevoegen naar Wetenschappelijk en klik vervolgens op Absolute waarde .

LuckyTemplates Power Query: dubbele rijen verwijderen

Ik ga deze kolom hernoemen in de formulebalk.

LuckyTemplates Power Query: dubbele rijen verwijderen

Groeperen op ID-index en absolute hoeveelheid

We kunnen nu groeperen op ID-index en absolute hoeveelheid. Selecteer ID Index , houd vervolgens shift of control ingedrukt om meervoudig te selecteren en klik vervolgens op Abs aantal (absolute hoeveelheid).

LuckyTemplates Power Query: dubbele rijen verwijderen

Je vindt Groeperen op op het tabblad Transformeren.

LuckyTemplates Power Query: dubbele rijen verwijderen

Maar je kunt het ook vinden op het tabblad Start.

LuckyTemplates Power Query: dubbele rijen verwijderen

Klik erop en nu gaan we een nieuwe kolom toevoegen. Het is geen "telling", maar het wordt de "som" van de hoeveelheid. Laten we het dus hernoemen naar Qty (quantity) Balance . Het wordt een som van de hoeveelheidskolom. En dan voegen we nog een aggregatie toe, maar het wordt een speciale, dus we selecteren Alle rijen . Laten we deze kolom ook een naam geven ( AllRows ). Druk vervolgens op OK.

LuckyTemplates Power Query: dubbele rijen verwijderen

Als we in de witte ruimte in de tabel klikken, zien we een voorbeeld van de geneste tabel hieronder. We zien dat de hoeveelheden voor deze geneste tabel elkaar opheffen en dat het aantalsaldo nul is.

LuckyTemplates Power Query: dubbele rijen verwijderen

Als we naar de volgende geneste tabel kijken (dus opzij klikken in de witte ruimte van de volgende rij), zien we dat de hoeveelheidskolom elkaar niet opheft en dat een hoeveelheidssaldo groter is dan nul.

LuckyTemplates Power Query: dubbele rijen verwijderen

Laten we een aangepaste kolom toevoegen, zodat we die later kunnen gebruiken voor onze geneste tabeltransformaties. Selecteer dus Aangepaste kolom toevoegen .

LuckyTemplates Power Query: dubbele rijen verwijderen

Laten we die kolom hernoemen naar Transformaties en we voegen nul (0) toe als tijdelijke aanduiding. Klik vervolgens op OK.

LuckyTemplates Power Query: dubbele rijen verwijderen

Geneste tabellen transformeren in LuckyTemplates Power Query

We zijn nu klaar om de logica te maken voor het transformeren van die geneste tabellen. Maar we willen er niet een heleboel schrijven, en dat is ook niet nodig.

We kunnen de gebruikersinterface grotendeels gebruiken. Als we de logica voor die transformaties in een aparte query bouwen, was het meest uitgebreide scenario dat we hadden het scenario met drie of vier rijen.

Als ik nu aan de rechterkant in de laatste rij klik, zie ik dat deze tabel vier rijen heeft. We kunnen dit dus gebruiken om onze transformaties op te bouwen.

LuckyTemplates Power Query: dubbele rijen verwijderen

Klik met de rechtermuisknop op de zijkant in de witte ruimte en selecteer Toevoegen als nieuwe query .

LuckyTemplates Power Query: dubbele rijen verwijderen

We zien dat de geneste tabel nu is uitgebreid en is toegevoegd als een nieuwe query en we kunnen deze gebruiken om de logica op te bouwen die we nodig hebben.

LuckyTemplates Power Query: dubbele rijen verwijderen

Sorteerbewegingstype en boekingsdatum

Nu moeten we eerst sorteren op Bewegingstype . Laten we aflopend kiezen . Zo staan ​​de uitgaande transacties altijd bovenaan.

LuckyTemplates Power Query: dubbele rijen verwijderen

Vervolgens sorteren we de Boekingsdatum als oplopend , waarbij we ervoor zorgen dat als we rijen weglaten, dit altijd gebeurt volgens het FIFO-principe (first in, first out).

LuckyTemplates Power Query: dubbele rijen verwijderen

Een lopend totaal maken

Om de rijen te identificeren die we gaan verwijderen, voeg ik een lopend totaal toe om uit te schakelen, en we kunnen een List.FirstN gebruiken voor die taak. Deze functie maakt een lijst aan op basis van een andere lijst, waarbij de topitems worden bijgehouden op basis van een specifiek aantal of op basis van een criterium.

LuckyTemplates Power Query: dubbele rijen verwijderen

Laten we teruggaan naar onze vraag. We hebben twee dingen nodig voor List.FirstN. Eerst hebben we die lijst nodig, en die lijst is onze kolom Hoeveelheid . Als ik met de rechtermuisknop op de kolomkop Aantal klik, krijgen we de optie Toevoegen als NewQuery .

LuckyTemplates Power Query: dubbele rijen verwijderen

En hier zien we de code die we nodig hebben om die lijst te genereren. In de toegepaste stap kunt u zien dat deze naar de laatste stap verwijst en vervolgens de kolom tussen die haakjes identificeert.

LuckyTemplates Power Query: dubbele rijen verwijderen

Het tweede deel dat we nodig hebben voor List.FirstN is een nummer om aan te geven hoeveel nummers we van die lijst moeten houden. Daar kunnen we de index voor gebruiken, dus ik ga een indexkolom toevoegen van één (1) voor deze rij.

LuckyTemplates Power Query: dubbele rijen verwijderen

Dus voor nummer 1 blijft het nummer op de eerste rij in de kolom Aantal staan, enzovoort. En dat kunnen we nu samenvatten.

LuckyTemplates Power Query: dubbele rijen verwijderen

Laten we een aangepaste kolom toevoegen en deze Lopend totaal noemen . We gebruiken hier List.FirstN en we kunnen zien dat de eerste parameter die lijst was, de kolom Aantal. We moeten naar de laatste stap wijzen, en die laatste stap is de Toegevoegde Index .

LuckyTemplates Power Query: dubbele rijen verwijderen

We hebben de kolom geïdentificeerd die we willen, en dat is onze kolom Aantal. Onze telling staat in de kolom Index.

LuckyTemplates Power Query: dubbele rijen verwijderen

Nu retourneert het een lijst. Als we aan de zijkant in de witte ruimte klikken, kunnen we de inhoud van die lijst zien. Voor het eerste record behield het alleen de bovenste rij van die lijst. Voor het tweede record behield het de bovenste twee rijen.

LuckyTemplates Power Query: dubbele rijen verwijderen

Nu hoeven we alleen maar deze hoeveelheden op te tellen en we kunnen Lists.Sum gebruiken om dat te doen. Dus ik ga dat toevoegen in de formulebalk. En ik ga ook Type .

LuckyTemplates Power Query: dubbele rijen verwijderen

Rijen filteren op basis van een voorwaarde

Met dit lopende totaal kunnen we de rijen identificeren die we willen behouden. We willen alleen rijen behouden die groter zijn dan nul, dus laten we een filtervoorwaarde toevoegen.

LuckyTemplates Power Query: dubbele rijen verwijderen

We kunnen nu onze helperkolommen verwijderen. Selecteer Index en Lopend totaal en klik vervolgens op Kolommen verwijderen.

LuckyTemplates Power Query: dubbele rijen verwijderen

In de geavanceerde editor kunnen we nu de code kopiëren die we hebben gemaakt. Ik open de geavanceerde editor en we kunnen zien dat dit onze gesplitste stap is. We kunnen dus alles daaronder selecteren en kopiëren.

LuckyTemplates Power Query: dubbele rijen verwijderen

Laten we nu teruggaan naar onze oorspronkelijke vraag. Open nogmaals de geavanceerde editor. En laten we in plaats van de tijdelijke aanduiding naar een nieuwe regel gaan. Ik ga de " let "-expressie gebruiken omdat die waarden van tussentijdse berekeningen in variabelen kan vastleggen. Dus, "let" en ga dan naar een nieuwe regel en plak mijn transformaties. Ik zal ook Type declareren .

LuckyTemplates Power Query: dubbele rijen verwijderen

De gemarkeerde code hierboven verwijst naar onze uitgebreide geneste tabel, die in de kolom Alle rijen is geplaatst. Dus daar ga ik naar wijzen door deze gemarkeerde code te vervangen door AllRows .

Dus onze transformatiekolom heeft nu geneste tabellen. We bouwen onze query op basis van de laatste rij, toch? En dat bevatte vier rijen toen we begonnen en bevatte slechts twee. We hebben ook die hoeveelheid gebalanceerd nul, toch? En nu heeft het een lege tafel.

LuckyTemplates Power Query: dubbele rijen verwijderen

We kunnen deze verwijderen door te filteren op de kolom Hoeveelheidssaldo. We willen niet dat het kwantiteitssaldo gelijk is aan nul.

LuckyTemplates Power Query: dubbele rijen verwijderen

En dan ga ik mijn transformatiekolom selecteren en andere kolommen verwijderen. Ik kan nu mijn geneste transformatietabellen uitbreiden. Gebruik niet de oorspronkelijke kolomnaam als voorvoegsel en druk op OK.

LuckyTemplates Power Query: dubbele rijen verwijderen

Selecteer op het tabblad Transformeren Gegevenstype en we zijn klaar. En zo ruim je transactiegegevens op.


Unpivot en Pivot Basics in LuckyTemplates – Query-editor Bekijk
mijn praktijktips bij het gebruik van de LuckyTemplates Advanced Editor
Geavanceerde transformaties in LuckyTemplates

Conclusie

In deze zelfstudie heb ik je laten zien hoe je transactiegegevens kunt opschonen, met name het verwijderen van dubbele rijen. Dit is een geweldige techniek die u kunt gebruiken bij het gebruik van de LuckyTemplates Power Query.

Ik hoop dat je deze leuk vond. Bekijk de volledige video-tutorial hieronder voor meer details. Bekijk ook de links hieronder voor meer gerelateerde inhoud rond LuckyTemplates Power Query Editor.

Proost!

Melissa


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten