LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Til dette indlæg vil jeg gerne tale om et nyligt LuckyTemplates-tip, som jeg kom med til et medlem af . Spørgsmålet handlede om et nyttigt mønster i forhold til at se på de første N hverdage eller første N fakturerbare dage i en given måned versus den samme periode i den foregående måned. Du kan se den fulde video af denne tutorial nederst på denne blog.

TJ Henneman ønskede at sammenligne de første 5 fakturerbare dage i den aktuelle måned med de første 5 fakturerbare dage i den foregående måned og derefter på dag 10, dag 15 og dag 20. Bemærk, at han kun ønsker at se på de fakturerbare dage, så dette inkluderer ikke weekender og helligdage. Du kan tjekke hans indlæg.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Jeg tror, ​​at der er en virkelig interessant løsning til power-forespørgsler her. Jeg arbejdede også med en interessant DAX-løsning på dette problem. Jeg vil gennemgå sidstnævnte i en anden tutorial.

Jeg vil også guide dig gennem en jeg brugte til LuckyTemplates Challenge #16. Jeg brugte en rulleindikator , der vil fungere rigtig godt til dette særlige problem.

Men for dette LuckyTemplates-tip vil jeg berøre power-forespørgselsløsningen. Lad os springe ind i LuckyTemplates og tage et kig på vores data. Til denne simulerede jeg dataene ved hjælp af øvelsesdatasætværktøjet, som vi sammensatte på LuckyTemplates, som du kan bruge gratis. Dette er fantastisk til at sammensætte et grundlæggende stjerneskemadatasæt og til at teste løsninger.

Indholdsfortegnelse

Vores datamodel

Vores datamodel bruger vores udvidede datotabel plus en række dimensionstabeller. Vi har også en salgstabel med tre års delvise data det første år, fuldstændige data i det andet år og delvise data i det tredje år. Til sidst har vi også en.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Jeg har også ændret lidt i dette datasæt. Jeg bragte en ferietabel og linkede den til tabellen med udvidet dato, så den korrekt kan beregne de feriedage, vi fjerner i denne analyse. Hvis du ikke er sikker på, hvordan du gør dette, så tjek denne vejledning .

Derefter filtrerede jeg den første delvise måned fra datasættet, fordi den måned kun havde nogle få dages data og ikke havde de arbejdsdage, vi har brug for. Bemærk, at vi starter med den første hele måned; men bortset fra det, vil dette være dit standarddatasæt. Så lad os springe ud i detog begynd at arbejde på dette LuckyTemplates-tip.

Hvis vi kigger på vores data, kan du se, at vi har forskellige ordrer på en bestemt dag. Målet er at nummerere alt, hvad der starter med 1. april som vores første hverdag, 2. april som vores anden hverdag, 3. april som vores tredje hverdag, og så videre. Vi nummererer dette fra 1 til N hverdage for hver måned, mens vi tager weekender og helligdage ud.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Oprettelse af en dublet tabel

For at starte tingene er vi nødt til at oprette et duplikat af denne tabel, så vi kan aggregere til det samlede salg og bringe det ind på det individuelle observationsniveau. Vi kommer til at kalde denne dublettabel Sales Aggregated .

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Du har måske bemærket, at vi duplikerede salgstabellen i stedet for blot at henvise til den. I dette tilfælde vil vi forbinde denne tabel med den originale salgstabel. Hvis vi henviser til det, vil det give problemer, når vi slutter os til de to.

Den første ting at gøre er at bruge en gruppe efter i kolonnen OrderDate . Klik på knappen Avanceret , fordi det vil give os et fuldstændigt billede af, hvad vi laver her. Vi vil sætte Total Day Sales som vores nye kolonnenavn, og det vil være summen af ​​vores linjetotal.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Nu har vi hver dato (første kolonne) og det samlede salg for den dag (anden kolonne).

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Sammenlægning af Datotabellen

Det næste trin i dette LuckyTemplates-tip er at flette dette med vores Datoer-tabel for at finde ud af, hvilke af disse dage der er hverdage, og hvilke af dem der ikke er. Vi kan gruppere efter igen, dele dem ud og nummerere dem korrekt.

Vi vil flette vores Datoer-tabel og knytte Ordredatoen til Dato . Vi kan se i den nederste del, at udvalget matcher hver række i tabellen, som det skal.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Det felt, vi primært er interesseret i, er IsBusinessDay .

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Dette er det primære felt, som vi vil gruppere på, og derefter bruge felterne Måned & år og MånedÅr .

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Vi skal også tjekke DayofWeekName for at sikre, at vi filtrerer de rigtige dage fra.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Når vi klikker på OK-knappen , vil det give os præcis, hvad vi har brug for.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Vi skal også sørge for, at vores ordredato er sorteret i stigende rækkefølge.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Så går vi tilbage og opretter en anden gruppe efter .

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Denne gang klikker vi på knappen Avanceret , grupperer på Måned og år og tilføjer derefter endnu en gruppering.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Den anden gruppering er for IsBusinessDay , så vi kan nummerere dem, hvor hverdage er sande.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Derefter opretter vi en AllRows-funktion, så den ikke aggregeres, og vi vil være i stand til at gå tilbage til det oprindelige granularitetsniveau.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Dette skulle give os indlejrede tabeller , hvor vi kan se en tabel for sand og en tabel for falsk for hver måned.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Oprettelse af en brugerdefineret kolonne

Dernæst skal vi oprette en brugerdefineret kolonne for at tilføje det antal, vi har brug for for hverdagene.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Vi kommer til at bruge en funktion kaldet Table.AddIndexColumn , som vil fungere på AllRows-tabellen , og vi vil kalde det Day Index . Vi ønsker, at indekset starter med 1 og stiger med 1 for hver ny hverdag.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Så kan vi fjerne de første tre kolonner og udvide vores fjerde brugerdefinerede kolonne.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Hvis vi ser på resultatet, giver det os dagindekset, som tæller arbejdsdagene (sandt), og derefter tæller de dage, der er weekender og helligdage i hver måned (false). Dernæst skal vi kontrollere, at disse er i deres rigtige felttype.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Lad os gå tilbage til vores salgstabel. Vi fusionerer den samlede tabel, som vi lige har oprettet, med vores salgstabel.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Vi slår dem sammen på ordredatoen . Du kan se nederst, at det matcher alle rækkerne fra den første tabel.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Når vi udvider kolonnen Salg Agg, skal du vælge de nye felter, som vi lige har tilføjet: kolonnerne Måned & År , DagUgenavn , MånedÅr , IsBusinessDay og DagIndex .

Lad os også rydde op i vores data, før vi klikker på Luk og anvend . Lad os flytte Sales Agg-tabellen i vores Dataforberedelse sektion , og derefter fjerne den tabel, da vi ikke får brug for den i datamodellen. Klik derefter på Luk & Anvend .

Vores forberedelsesarbejde til strømforespørgsler er nu færdig.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Oprettelse af en hvad-hvis-parameter

Husk, at vi i den oprindelige opgave ønsker at variere antallet af dage, som vi ser på, fra 5 til 10 og 15 til 20. Jeg tror, ​​at den bedste måde at gøre dette på er med en ny hvad-hvis- parameter .

Vi kalder what-if-parameteren First N Business Days, og dens datatype vil være et helt tal. Minimum er sat til et trin på 1 og et maksimum på 20. Så vil vi som standard være 5, som er den første værdi, som brugeren ønskede.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Vi har nu en pålægsmaskine, der automatisk opretter høstmålet for at fange skæremaskinens værdi.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Lad os lave en tabel med vores resultater. Lad os sætte vores Måned & År- dimension i lærredet og derefter sortere det efter Måned & År .

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Når vi har sorteret dette felt ordentligt, kan vi bare droppe målingen for det samlede salg og udvide det.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Oprettelse af et mål for antal arbejdsdage

Vi skal oprette endnu et mål, der tager et kig på værdien af ​​skyderparameteren og kun beregner for antallet af arbejdsdage.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Vi kalder dette nye mål Total Sales N Bus Days . Vi starter med funktionen, da vi helt sikkert ændrer kontekst, og med vores samlede salgsmål. Vi vil filtrere dette med vores salgstabel.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Næste trin er at skrive de forhold, som vi ønsker at tage højde for for skyderen. Vi har vores salgsdagindeks, som vi har oprettet i Power Query, og vi ønsker, at dette skal være mindre end eller lig med værdien for First N Business Days, som er den høstede værdi af skæremaskinen.

For eksempel, hvis skyderen er på 5, vil vi have alle dage i salgstabellen, hvor dagsindekset er mindre end eller lig med 5.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Og så vil vi gerne tage de ikke-arbejdsdage ud. Vi refererer til Dato-tabellen og bruger IsBusinessDay-feltet. Vi ser kun på resultatet, der er SANDT.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Til sidst skal du bringe konteksten tilbage for måned og år og lukke målingen. Vi burde være gode til at gå på dette tidspunkt.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Lad os slippe det nye mål ind i vores tabel.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Vi kan tage skyderudsnitteren til 10-dagesmærket, og tabellen vil dynamisk beregne ved 10-dagesmærket.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Konklusion

I dette LuckyTemplates-tip talte vi om, hvordan man laver en like-for-like-sammenligning dynamisk ved hjælp af en Power Query-løsning. Vi kan sætte dette ind i et søjlediagram eller et linjediagram.

I nogle af vores kommende tutorials tager vi et kig på DAX-løsningen og implementerer visualiseringen af ​​KPI-scrolleren.

Hvis du kunne lide indholdet i denne særlige vejledning, så glem ikke at abonnere på LuckyTemplates tv- kanal.


Pandas Drop Index Kolonne: Forklaret med eksempler

Pandas Drop Index Kolonne: Forklaret med eksempler

Pandas Drop Index Kolonne: Forklaret med eksempler

7 måder, hvordan man kontrollerer, om en Python-streng indeholder en understreng

7 måder, hvordan man kontrollerer, om en Python-streng indeholder en understreng

7 måder, hvordan man kontrollerer, om en Python-streng indeholder en understreng

Power Automate Oversigt over dynamisk indhold

Power Automate Oversigt over dynamisk indhold

Forstå, hvad Power Automate Dynamic Content er, og hvordan det giver brugerne mulighed for at vælge feltreferencer fra tidligere trin eller skrive udtryk.

Ændring af filplacering ved hjælp af en forespørgselsparameter i LuckyTemplates

Ændring af filplacering ved hjælp af en forespørgselsparameter i LuckyTemplates

I denne vejledning lærer du, hvordan du deler en fil med en person, der ikke er en del af din virksomhed, ved hjælp af en sql-forespørgselsparameter i LuckyTemplates.

Brug af funktionen Fjern og opsætning af bekræftelsespopups

Brug af funktionen Fjern og opsætning af bekræftelsespopups

Find ud af, hvordan du bruger fjernfunktionen, og hvordan du opsætter bekræftelsespop-ups på den app, du har oprettet fra bunden.

Visualisering af filterkonteksten i LuckyTemplates DAX Studio

Visualisering af filterkonteksten i LuckyTemplates DAX Studio

Lær, hvordan du visualiserer filterkonteksten for enhver celle i en tabel eller matrix i LuckyTemplates DAX Studio ved hjælp af værktøjstip.

Power Automate flows skabelse fra bunden

Power Automate flows skabelse fra bunden

Lær, hvordan du opretter Power Automate-flows fra bunden. I stedet for at bruge en skabelon, skaber vi udløserne og handlingerne selv.

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

LuckyTemplates Tip: Sådan sammenligner du de første N arbejdsdage

Se dette LuckyTemplates-tip fra Brian om, hvordan du dynamisk kan sammenligne de første N arbejdsdage ved hjælp af power-forespørgsel.

Power Apps Modeldrevne apps: Miljøopsætning og navigation

Power Apps Modeldrevne apps: Miljøopsætning og navigation

Lær om Power Apps modeldrevne apps, hvordan du opsætter miljøet, og hvordan du effektivt navigerer rundt i det.

Power Apps-modeldrevne apps: Sitemaps og hvordan de fungerer

Power Apps-modeldrevne apps: Sitemaps og hvordan de fungerer

Lær mere om at arbejde med webstedskort i Power Apps-modeldrevne apps, og opdag forskellige kompleksiteter, og hvordan du håndterer dem.