LuckyTemplates-tips: Hvordan sammenligne første N virkedager

For dette innlegget vil jeg gjerne snakke om et nylig LuckyTemplates-tips som jeg kom opp med for et medlem av . Spørsmålet handlet om et nyttig mønster når det gjelder å se på de første N virkedagene eller de første N fakturerbare dagene i en gitt måned kontra samme periode i forrige måned. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

TJ Henneman ønsket å sammenligne de første 5 fakturerbare dagene i gjeldende måned med de første 5 fakturerbare dagene i forrige måned, og deretter på dag 10, dag 15 og dag 20. Merk at han bare ønsker å se på de fakturerbare dagene, så dette inkluderer ikke helger og helligdager. Du kan sjekke innlegget hans.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Jeg tror det er en veldig interessant løsning for kraftspørring her. Jeg jobbet også med en interessant DAX-løsning på dette problemet. Jeg vil gå over sistnevnte i en annen opplæring.

Jeg vil også lede deg gjennom en jeg brukte for LuckyTemplates Challenge #16. Jeg brukte en rulleindikator som vil fungere veldig bra for dette spesielle problemet.

Men for dette LuckyTemplates-tipset, vil jeg berøre strømspørringsløsningen. La oss hoppe inn i LuckyTemplates og ta en titt på dataene våre. For denne simulerte jeg dataene ved å bruke øvelsesdatasettet som vi satt sammen på LuckyTemplates, som du kan bruke gratis. Dette er flott for å sette sammen et grunnleggende stjerneskjemadatasett og for å teste ut løsninger.

Innholdsfortegnelse

Vår datamodell

Datamodellen vår bruker vår utvidede datotabell pluss en serie dimensjonstabeller. Vi har også en salgstabell med tre år med delvise data det første året, fullstendige data i det andre året og delvise data i det tredje året. Til slutt har vi også en.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Jeg har også endret litt på dette datasettet. Jeg hentet inn en ferietabell og koblet den til tabellen for utvidet dato slik at den kan beregne helligdagene vi skal fjerne i denne analysen. Hvis du ikke er sikker på hvordan du gjør dette, sjekk ut denne opplæringen .

Deretter filtrerte jeg ut den første delmåneden i datasettet fordi den måneden bare hadde noen få dager med data og ikke hadde de virkedagene vi trenger. Vær oppmerksom på at vi starter med den første hele måneden; men bortsett fra det, vil dette være ditt standard datasett. Så la oss hoppe innog begynn å jobbe med dette LuckyTemplates-tipset.

Hvis vi tar en titt på dataene våre, kan du se at vi har forskjellige bestillinger på en bestemt dag. Målet er å nummerere alt som starter med 1. april som vår første virkedag, 2. april som vår andre virkedag, 3. april som vår tredje virkedag, og så videre. Vi nummererer dette fra 1 til N virkedager for hver måned mens vi tar ut helger og helligdager.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Opprette en duplikattabell

For å starte ting, må vi lage et duplikat av denne tabellen slik at vi kan aggregere til Totalt salg og bringe den inn på det individuelle observasjonsnivået. Vi kommer til å kalle denne duplikattabellen Sales Aggregated .

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Du har kanskje lagt merke til at vi dupliserte salgstabellen i stedet for bare å referere til den. I dette tilfellet skal vi slå sammen denne tabellen med den originale salgstabellen. Hvis vi refererer til det, vil det skape problemer når vi slår oss sammen.

Det første du må gjøre er å bruke en gruppe etter i kolonnen OrderDate . Klikk på Avansert-knappen fordi det vil gi oss et fullstendig bilde av hva vi gjør her. Vi vil sette Totalt Dagsalg som vårt nye kolonnenavn, og det vil være summen av linjetotalen vår.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Nå har vi hver dato (første kolonne) og totalt salg for den dagen (andre kolonne).

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Slå sammen datotabellen

Det neste trinnet i dette LuckyTemplates-tipset er å slå dette sammen med datotabellen vår for å finne ut hvilke av disse dagene som er virkedager og hvilke av dem som ikke er det. Vi kan gruppere etter igjen, dele dem ut og nummerere dem på riktig måte.

Vi vil slå sammen datotabellen vår og koble ordredatoen til datoen . Vi kan se i den nederste delen at utvalget samsvarer med hver rad i tabellen, som det skal.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Feltet vi først og fremst er interessert i er IsBusinessDay .

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Dette er det primære feltet vi grupperer på, og bruker deretter feltene Måned og år og MånedÅr .

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Vi må også sjekke DayofWeekName for å være sikker på at vi filtrerer ut de riktige dagene.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Når vi klikker på OK-knappen , vil den gi oss akkurat det vi trenger.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Vi må også sørge for at vår bestillingsdato er sortert i stigende rekkefølge.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Så går vi tilbake og oppretter en andre gruppe etter .

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Denne gangen klikker vi på Avansert-knappen , grupperer på Måned og år og legger til en ny gruppering.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Den andre grupperingen er for IsBusinessDay , slik at vi kan nummerere de der virkedager er sanne.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Deretter oppretter vi en AllRows-funksjon slik at den ikke samler seg, og vi vil kunne gå tilbake til det opprinnelige granularitetsnivået.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Dette bør gi oss nestede tabeller der vi kan se en tabell for sann og en tabell for usann for hver måned.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Opprette en egendefinert kolonne

Deretter må vi opprette en egendefinert kolonne for å legge til antallet vi trenger for virkedagene.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Vi kommer til å bruke en funksjon kalt Table.AddIndexColumn , som vil operere på AllRows-tabellen , og vi kaller den Day Index . Vi vil at indeksen skal starte med 1, og øke med 1 for hver nye virkedag.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Deretter kan vi fjerne de tre første kolonnene, og utvide vår fjerde egendefinerte kolonne.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Hvis vi ser på resultatet, gir det oss dagindeksen, som teller virkedagene (true), og deretter teller dagene som er helger og helligdager i hver måned (false). Deretter må vi sjekke at disse er i riktig felttype.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

La oss gå tilbake til salgstabellen vår. Vi slår sammen aggregattabellen som vi nettopp opprettet med salgstabellen vår.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Vi slår dem sammen på bestillingsdatoen . Du kan se nederst at det samsvarer med alle radene fra den første tabellen.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Når vi utvider Sales Agg-kolonnen, velger du de nye feltene som vi nettopp har lagt til: kolonnene Måned og år , DayOfWeekName , MonthnYear , IsBusinessDay og DayIndex .

La oss også rydde opp i dataene våre før vi klikker på Lukk og bruk . La oss flytte Sales Agg-tabellen i vår Data Prep-seksjon , og deretter laste ned den tabellen siden vi ikke kommer til å trenge den i datamodellen. Klikk deretter på Lukk og bruk .

Forberedelsesarbeidet vårt for strømspørring er nå ferdig.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Opprette en hva-hvis-parameter

Husk at i den opprinnelige oppgaven ønsker vi å variere antall dager vi ser på fra 5 til 10 og 15 til 20. Jeg tror den beste måten å gjøre dette på er med en ny hva-hvis- parameter .

Vi kaller hva-hvis-parameteren First N Business Days og datatypen vil være et heltall. Minimum er satt til en økning på 1 og maksimalt 20. Da vil vi som standard settes til 5, som er den første verdien brukeren ønsket.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Vi har nå en slicer som automatisk lager slaktemålet for å fange opp slicer-verdien.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

La oss lage en tabell med resultatene våre. La oss legge inn Måned og år -dimensjonen vår i lerretet og sortere den etter Måned og år .

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Når vi har sortert dette feltet på riktig måte, kan vi bare droppe Total Sales- målet og utvide det.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Opprette et mål for antall virkedager

Vi må lage et mål til som tar en titt på verdien av glidebryteren og kun beregner for antall virkedager.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Vi kaller dette nye målet Totalt salg N bussdager . Vi starter med funksjonen siden vi definitivt endrer kontekst, og med vårt mål for totalt salg. Vi skal filtrere dette med salgstabellen vår.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Neste trinn er å skrive forholdene som vi ønsker å ta hensyn til for glidebryteren. Vi har vår salgsdagindeks som vi opprettet i Power Query, og vi vil at denne skal være mindre enn eller lik verdien for First N Business Days, som er høstingsverdien til sliceren.

For eksempel, hvis glidebryteren er på 5, vil vi ha alle dagene i salgstabellen der dagindeksen er mindre enn eller lik 5.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Og så ønsker vi å ta ut de ikke-arbeidsdager. Vi refererer til Dato-tabellen og bruker IsBusinessDay-feltet. Vi skal bare se på resultatet som er SANN.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Til slutt, bring konteksten tilbake for måned og år og avslutt tiltaket. Vi bør være gode til å gå på dette punktet.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

La oss slippe det nye målet inn i tabellen vår.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Vi kan ta glidebryteren til 10-dagersmerket, og tabellen vil dynamisk beregne ved 10-dagersmerket.

LuckyTemplates-tips: Hvordan sammenligne første N virkedager

Konklusjon

I dette LuckyTemplates-tipset snakket vi om hvordan du gjør en like-for-like-sammenligning dynamisk ved å bruke en Power Query-løsning. Vi kan sette dette inn i et stolpediagram eller et linjediagram.

I noen av våre kommende opplæringsprogrammer tar vi en titt på DAX-løsningen og implementerer visualiseringen av KPI-rulleren.

Hvis du likte innholdet som dekkes i denne spesielle opplæringen, ikke glem å abonnere på LuckyTemplates TV- kanal.


Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.