Pipe In R: Tilslutningsfunktioner med Dplyr
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
Jeg vil vise dig, hvordan du beregner arbejdsdage/arbejdsdage mellem to datoer, enten med helligdage med eller uden helligdage. Dette er et emne, der er blevet spurgt igen og igen på .
Jeg tror også, at dette vil være en fantastisk måde at lukke denne Time Intelligence-serie på, vel vidende at den dækker mange af de andre elementer, der er diskuteret tidligere. Disse elementer omfatter oprettelse af en ferietabel, oprettelse af en udvidet datotabel og brug affunktion blandt andet. Du kan se den fulde video af denne tutorial nederst på denne blog.
Indholdsfortegnelse
Måder at beregne arbejdsdage mellem to datoer
Jeg vil tale om forskellige tilgange, du kan bruge til at beregne arbejdsdage.
Excel giver brugerne mulighed for at beregne arbejdsdage på en ligetil måde ved at bruge dens NETVÆRKDAGE- funktion. DAX har dog ikke sådan en funktion , så jeg vil diskutere måder at omgå dette på.
En måde at gøre dette på er ved at bruge nogle elementer fra den udvidede datotabel.
En anden mulighed er gennem en tilgang, som jeg fik af Imke Feldmann fra thebiccountant.com blog. Hun skabte en brugerdefineret NetworkDays-funktion, der kan aktiveres direkte fra Power Query , hvilket gør processen meget hurtigere og mindre kompliceret.
For at vise dig, hvordan disse tilgange virker, vil jeg bruge et meget almindeligt scenarie.
Jeg har hundrede projekter, som jeg har anonymiseret.
Jeg har også en startdato og en slutdato for hvert projekt.
Jeg har også lavet en simpel Days Elapsed -måling. Dette er dybest set det rå antal dage mellem hver af start- og slutdatoerne . Jeg brugtefunktion til at gøre dette, en nyttig funktion til dateret forskellige arbejdsdage.
Datamodellen er meget enkel. Den indeholder tabeller for datoer og projekter .
Den viser også faktatabellen, som inkluderer projekt-id , startdato og slutdato .
Til sammenligning har jeg også beregnet NetworkDays (med og uden helligdage) ved hjælp af Excel (ikke power bi).
Du kan selvfølgelig gøre det samme og hente data fra Excel. Men målet her er at bruge LuckyTemplates til at beregne antallet af arbejdsdage uden at skulle bruge Excel.
Beregning af arbejdsdage mellem datoer ved hjælp af DAX
Hver gang du beskæftiger dig med at tælle datoer, er det altid effektivt at brugefunktion på tabellen Datoer.
Jeg brugte også DATESBETWEEN til at indsnævre feltet mellem startdatoen og slutdatoen . Jeg tilføjede også IsWorkingDay for at anvende den simple boolske logik, at hvis det er en arbejdsdag, så skal det være . Weekender ville returnere en .
Jeg afsluttede det medfilter bare for at tage højde for udskæringsmaskiner.
Hvad angår versionen med helligdage, er den meget lig den foranstaltning, jeg lige har diskuteret.
Det er det samme udtryk ved hjælp af DATESBETWEEN -funktionen. Jeg tilføjede kun enog IsHoliday.
Igen brugte jeg ALLSELECTED- funktionen til allersidst.
Se, hvad der sker, når jeg trækker de to mål ind i min tabel.
Som forventet matcher Workdays w/ Holidays perfekt kolonnen Excel m/ Holidays . Det samme gælder for kolonnen Arbejdsdage uden helligdage, som matcher kolonnen i Excel uden helligdage .
Beregning af arbejdsdage ved hjælp af Power Query
Den tilgang, som Imke Feldmann fra thebiccoountant.com blog fortæller om, giver en endnu nemmere løsning, når du bruger Power Query.
I sin blog om NETWORKDAYS-funktionen gav hun en M-kode, som kan påberåbes i Power Query.
Du skal blot kopiere M-koden fra hendes blog.
Gå derefter ind i Power Query , og åbn en tom forespørgsel under Ny kilde .
Gå ind i Advanced Editor .
Indsæt derefter hele koden på siden. Sørg for, at du har et grønt flueben for at sikre, at der ikke er fejl i din kode.
Når den er påkaldt, vil den bringe dig til denne skabelon.
Det er lige meget, hvad jeg indtaster her, så jeg går bare med 1. januar 2018 til 1. januar 2020.
Dette vil nu dukke op under mine forespørgsler. Jeg vil omdøbe det for at gøre det lettere for os at bruge senere.
Jeg vil kalde det Networkdays .
Nu kan jeg begynde at bruge den forespørgsel. Jeg vil lige gå ind i mine data .
Derefter, under Tilføj kolonne , klikker jeg på Aktiver brugerdefineret funktion .
Jeg vil kalde dette NWD og bruge Networkdays- funktionen.
Derefter vælger jeg Startdato og Slutdato fra disse rullemenuer nedenfor.
Det giver mig her mulighed for at ændre ugestart fra mandag til noget andet.
Til dette formål er mandag fint, så det lader jeg være som det er. Så klikker jeg på OK.
Som du kan se, beregner den straks NetworkDays svarende til Excel NetworkDays kolonnen.
Lad mig nu justere dette, så jeg kan udelukke helligdage. Jeg skal bare ind på mit julebord .
Hvis du husker fra skabelonen, er ferietabellen den tredje parameter her.
Så jeg vil bare bruge tabellen Helligdage her og henvise til kolonnen Dato.
Jeg klikker på fluebenet her for at anvende disse ændringer.
[00:11:00]
Nu er den blevet opdateret og har fjernet alle helligdage. Det er nøjagtigt det samme som kolonnen for Excel NetworkDays uden helligdage.
Jeg vil bare omdøbe denne kolonne NWD Ingen ferie.
Konklusion
Du vil se, at begge tilgange, jeg brugte, var meget forskellige fra hinanden, men de gav begge de samme resultater. Dette viser kun, at der virkelig er mange måder at maksimere LuckyTemplates på, selv når den specifikke Excel-funktion, du leder efter, ikke har nogen direkte pendant.
Dette har været et godt løb for Time Intelligence-serien. Jeg nød at arbejde sammen med Melissa Dekorte for at vise dig alle disse fantastiske Time Intelligence-scenarier.
En af de ting, jeg virkelig vil understrege her, er, at DAX er den mest interessante del af LuckyTemplates. Men efterhånden som du mestrer ins og outs af LuckyTemplates, vil du begynde at sætte pris på andre løsninger, der slet ikke involverer DAX. Den sidste tilgang, jeg viste dig ovenfor, såvel som de tips, jeg delte i de tidligere videoer om Time Intelligence, beviser dette faktum.
Alt det bedste,
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.
Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!
Excel Formler Snydeark: Mellemvejledning
LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det
Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.
Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.
Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.
I denne artikel gennemgår jeg, hvordan du kan finde dine topprodukter pr. region ved hjælp af DAX-beregninger i LuckyTemplates, herunder funktionerne TOPN og CALCUATE.
Lær, hvordan du bruger en uønsket dimension til flag med lav kardinalitet, som du ønsker at inkorporere i din datamodel på en effektiv måde.