LuckyTemplates Power Query: Fjerning av dupliserte rader

I denne bloggen skal jeg vise deg hvordan du fjerner dupliserte rader i LuckyTemplates Power Query basert på forhold. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

Dette eksemplet er fra et spørsmål som ble reist på. Medlemmet har transaksjonsdata og ønsker å fjerne rader som kansellerer hverandre.

Det er to distinkte transaksjonstyper, en for innkommende og en for utgående. Hun har også lagt til antall bevegelser. Og ut ifra det formulerte hun tre scenarier.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Scenario en er basert på to rader. Hvis de kansellerer hverandre, bør begge radene fjernes. Hvis det ikke er tilfelle, bør begge radene beholdes.

Scenario to og tre er basert på en kombinasjon av rader, som delvis kansellerer hverandre. Disse radene bør fjernes på en først-inn-først-ut-basis, slik at bare de siste innkommende transaksjonene beholdes.

I utgangspunktet gjentar vi den samme logikken om og om igjen. Vi bør være i stand til å designe en enkelt tilnærming for å passe alle disse scenariene.

Noen av tingene vi skal gjøre er å legge til en kolonne med absolutte mengder og gruppere etter "legg til en mengdesaldokolonne" og en nestet tabell ved å bruke alternativet "alle rader". Vi vil også transformere de nestede tabellene, sortere bevegelsestypen og posteringsdatoen, lage en løpende total og bare beholde rader basert på en betingelse.

Jeg har vurdert dette på et mellomnivå fordi de fleste transformasjonene vi kan gjøre her er ved å bruke brukergrensesnittet. Med det sagt, la oss gå over til LuckyTemplates Power Query.

Innholdsfortegnelse

Legger til kolonne med absolutte mengder i Power Query

Vi starter med å legge til en kolonne med absolutte mengder. Velg Antall- kolonnen, deretter på Legg til kolonne- båndet eller -fanen, gå til Scientific , og klikk deretter på Absolutt verdi .

LuckyTemplates Power Query: Fjerning av dupliserte rader

Jeg skal gi nytt navn til denne kolonnen i formellinjen.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Grupper etter ID-indeks og absolutt antall

Vi kan nå gruppere etter ID-indeks og absolutt antall. Velg ID-indeks , hold deretter nede shift eller kontroll for å multi-velge, og klikk deretter på Abs quty (absolutt mengde).

LuckyTemplates Power Query: Fjerning av dupliserte rader

Du finner Grupper etter på Transformer-fanen.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Men du kan også finne den på Hjem-fanen.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Klikk på den og nå skal vi legge til en ny kolonne. Det er ikke en "telling", men det kommer til å være "summen" av mengden. Så la oss gi det nytt navn til Kvantum (kvantitet) Balanse . Det kommer til å være summen av mengdekolonnen. Og så legger vi til en ny aggregering, men den kommer til å bli en spesiell, så vi velger Alle rader . La oss også gi denne kolonnen et navn ( AllRows ). Trykk deretter OK.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Hvis vi klikker i det hvite rommet i tabellen, ser vi en forhåndsvisning av den nestede tabellen nedenfor. Vi ser at mengdene for denne nestede tabellen opphever hverandre og mengdebalansen er null.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Hvis vi ser på den neste nestede tabellen (så klikk av til side i det hvite rommet i neste rad), ser vi at mengdekolonnen ikke opphever hverandre og en mengdebalanse er større enn null.

LuckyTemplates Power Query: Fjerning av dupliserte rader

La oss legge til en egendefinert kolonne slik at vi kan bruke den for nestede tabelltransformasjoner senere. Så velg Legg til egendefinert kolonne .

LuckyTemplates Power Query: Fjerning av dupliserte rader

La oss gi nytt navn til den kolonnen tilog vi legger til null (0) som en plassholder. Klikk deretter OK.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Transformering av nestede tabeller i LuckyTemplates Power Query

Vi er nå klare til å lage logikken for å transformere de nestede tabellene. Men vi vil ikke skrive en haug av dem, og vi trenger ikke.

Vi kan bruke brukergrensesnittet for det meste. Hvis vi bygger logikken for disse transformasjonene i en separat spørring, var det mest forseggjorte scenariet vi hadde det med enten tre eller fire rader.

Nå, hvis jeg klikker på høyre side i den siste raden, ser jeg at denne tabellen har fire rader. Så vi kan bruke dette til å bygge våre transformasjoner.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Høyreklikk på siden i det hvite området og velg Legg til som ny spørring .

LuckyTemplates Power Query: Fjerning av dupliserte rader

Vi ser at den nestede tabellen nå er utvidet og lagt til som en ny spørring, og vi kan bruke denne til å bygge logikken vi trenger.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Sortering av bevegelsestype og konteringsdato

Nå, det første vi må gjøre er å sortere på Movement Type . La oss velge synkende . På denne måten vil de utgående transaksjonene alltid være på toppen.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Deretter sorterer vi posteringsdatoen som stigende , og sørger for at hvis vi utelater rader, vil det alltid gjøres i henhold til FIFO-prinsippet (først inn først ut).

LuckyTemplates Power Query: Fjerning av dupliserte rader

Opprette en løpende total

For å identifisere radene som vi skal fjerne, skal jeg legge til en løpende total for å deaktivere, og vi kan bruke en List.FirstN for den oppgaven. Denne funksjonen lager en liste basert på en annen liste, der de øverste elementene holdes basert på et spesifikt nummer eller på et kriterium.

LuckyTemplates Power Query: Fjerning av dupliserte rader

La oss gå tilbake til søket vårt. Vi trenger to ting for List.FirstN. Først trenger vi den listen, og den listen er kolonnen Antall . Hvis jeg høyreklikker på kolonneoverskriften Antall, får vi muligheten til å legge til som NewQuery .

LuckyTemplates Power Query: Fjerning av dupliserte rader

Og her ser vi koden vi trenger for å generere den listen. I det anvendte trinnet kan du se at det peker til det siste trinnet og deretter identifiserer kolonnen i disse parentesene.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Den andre delen vi trenger for List.FirstN er et tall for å identifisere hvor mange tall som skal beholdes fra den listen. Vi kan bruke indeksen til det, så jeg skal legge til en indekskolonne fra en (1) for denne raden.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Så for nummer 1 vil den beholde tallet på den første raden i kolonnen Antall, og så videre. Og det kan vi nå oppsummere.

LuckyTemplates Power Query: Fjerning av dupliserte rader

La oss legge til en egendefinert kolonne, og kalle den Running Total . Vi bruker List.FirstN her, og vi kan se at den første parameteren var den listen, Quantity-kolonnen. Vi må peke på det siste trinnet, og det siste trinnet er Added Index .

LuckyTemplates Power Query: Fjerning av dupliserte rader

Vi identifiserte kolonnen vi vil ha, og det er mengdekolonnen. Vår opptelling er i indekskolonnen.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Nå returnerer den en liste. Hvis vi klikker til siden i det hvite rommet, kan vi se innholdet i den listen. For den første rekorden holdt den bare den øverste raden fra den listen. For den andre rekorden beholdt den de to øverste rekkene.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Nå trenger vi bare å summere disse mengdene, og vi kan bruke Lists.Sum for å gjøre det. Så jeg skal legge det til i formellinjen. Og jeg skal også sette Type .

LuckyTemplates Power Query: Fjerning av dupliserte rader

Filtrering av rader basert på en tilstand

Med denne løpende summen kan vi identifisere radene vi ønsker å beholde. Vi ønsker bare å beholde rader som er større enn null, så la oss legge til en filterbetingelse.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Vi kan nå fjerne hjelpekolonnene våre. Velg Indeks og løpende total, og klikk deretter Fjern kolonner.

LuckyTemplates Power Query: Fjerning av dupliserte rader

I Advanced Editor kan vi nå kopiere koden vi har laget. Jeg åpner , og vi kan se at dette er vårt delte trinn. Så vi kan velge og kopiere alt under det.

LuckyTemplates Power Query: Fjerning av dupliserte rader

La oss nå gå tilbake til vår opprinnelige spørring. Igjen, åpne Advanced Editor. Og i stedet for plassholderen, la oss gå til en ny linje. Jeg kommer til å bruke " la "-uttrykket fordi det kan fange opp verdier fra mellomberegninger i variabler. Så, "la" og gå deretter til en ny linje og lim inn transformasjonene mine. Jeg vil også erklære Type .

LuckyTemplates Power Query: Fjerning av dupliserte rader

Den uthevede koden ovenfor peker til vår utvidede nestede tabell, som er plassert i kolonnen Alle rader. Så jeg skal peke på det ved å erstatte denne uthevede koden til AllRows .

Så vår transformasjonskolonne har nå nestede tabeller. Vi bygger søket vårt basert på den siste raden, ikke sant? Og som inneholdt fire rader da vi startet og bare inneholdt to. Vi har også disse mengden balansert null, ikke sant? Og nå har den et tomt bord.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Vi kan fjerne disse ved å filtrere på Mengdebalanse-kolonnen. Vi vil ikke ha mengdebalansen lik null.

LuckyTemplates Power Query: Fjerning av dupliserte rader

Og så skal jeg velge transformasjonskolonnen min og fjerne andre kolonner. Jeg kan nå utvide de nestede transformasjonstabellene mine. Ikke bruk det opprinnelige kolonnenavnet som prefiks og trykk OK.

LuckyTemplates Power Query: Fjerning av dupliserte rader

På Transform-fanen velger du Datatype , og vi er ferdige. Og det er slik du rydder opp i transaksjonsdata.




Konklusjon

I denne opplæringen viste jeg deg hvordan du rydder opp i transaksjonsdata, spesifikt fjerner dupliserte rader. Dette er en flott teknikk du kan bruke når du bruker LuckyTemplates Power Query.

Jeg håper du likte denne. Se hele videoopplæringen nedenfor for mer informasjon. Sjekk ut koblingene nedenfor for mer relatert innhold rundt LuckyTemplates Power Query Editor.

Jubel!

Melissa


PowerApps-søkefelt: Slik legger du til og tilpasser

PowerApps-søkefelt: Slik legger du til og tilpasser

Lær hvordan du oppretter et PowerApps-søkefelt fra bunnen av og tilpasser det til å matche det overordnede temaet for appen din.

SELECTEDVALUE DAX-eksempel- Valg av høsteskive

SELECTEDVALUE DAX-eksempel- Valg av høsteskive

Høst eller fang en verdi inne i et mål for å gjenbruke i et annet mål for dynamiske beregninger ved å bruke SELECTEDVALUE DAX i LuckyTemplates.

Versjonshistorikk i SharePoint-lister

Versjonshistorikk i SharePoint-lister

Oppdag hvordan versjonshistorikk i SharePoint kan hjelpe deg med å se utviklingen av bestemte data, og hvor mange endringer den har gjennomgått.

Hex-fargekodevelger for Lucky Templates-rapporter

Hex-fargekodevelger for Lucky Templates-rapporter

Her er et verktøy for å lage rapporter og grafikk, en sekskantkodevelger for farger som du kan bruke for enkelt å få fargene til LuckyTemplates-rapportene dine.

Dynamisk datoskjærer i Lucky-maler ved hjelp av en periodetabell

Dynamisk datoskjærer i Lucky-maler ved hjelp av en periodetabell

Du kan enkelt vise en datoperiode som en slicer i rapporten ved hjelp av en periodetabell. Bruk en M-kode for å lage den dynamiske datoskjæreren i LuckyTemplates.

Proporsjons- og frekvenstabeller i Excel

Proporsjons- og frekvenstabeller i Excel

Skulle dykke ned i frekvenstabeller i Excel samt proporsjonstabeller. Se nærmere på hva de er og når du skal bruke dem.

Slik installerer du DAX Studio & Tabular Editor i LuckyTemplates

Slik installerer du DAX Studio & Tabular Editor i LuckyTemplates

Lær hvordan du laster ned og installerer DAX Studio og Tabular Editor 3 og hvordan du konfigurerer dem for bruk i LuckyTemplates og i Excel.

LuckyTemplates Shape Map Visualization for romlig analyse

LuckyTemplates Shape Map Visualization for romlig analyse

Denne bloggen inneholder Shape Map-visualiseringen for romlig analyse i LuckyTemplates. Jeg viser deg hvordan du kan bruke denne visualiseringen effektivt med dens funksjoner og elementer.

LuckyTemplates finansiell rapportering: Allokering av resultater til maler på hver enkelt rad

LuckyTemplates finansiell rapportering: Allokering av resultater til maler på hver enkelt rad

I denne opplæringen viser jeg frem en unik idé rundt finansiell rapportering, som tildeler resultater for å forhåndsbestemme tabellmaler inne i LuckyTemplates.

DAX-mål i LuckyTemplates ved hjelp av måleforgrening

DAX-mål i LuckyTemplates ved hjelp av måleforgrening

Opprett DAX-mål i LuckyTemplates ved å bruke eksisterende mål eller formler. Dette er det jeg kaller tiltaket forgreningsteknikk.