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.
I dag vil jeg gennemgå en løsning på et bestemt problem vedrørende år til dato (YTD) beregninger. Dette stammede faktisk fra et spørgsmål i . Jeg efterlader et link nedenfor til forumdiskussionen, hvis du vil gennemgå den. Du kan se den fulde video af denne tutorial nederst på denne blog.
Du kan se dette forumindlæg her -
År til dato (YTD) refererer til perioden fra begyndelsen af indeværende år til en specificeret dato før årets udgang . Dette er grundlæggende baseret på antallet af dage fra begyndelsen af kalenderåret eller endda regnskabsåret til en bestemt dato. Det bruges almindeligvis til regnskabsaflæggelsesformål.
I dette scenarie søger vi at evaluere YTD-salg , men vi ønsker ikke at evaluere noget ud over det sidste salg, der kan have fundet sted . Vi ønsker kun at vise den akkumulerede YTD-total op til det sidste salg .
Dette er et unikt scenarie inde i LuckyTemplates, som du højst sandsynligt skal løse på en eller anden måde, form eller form.
Lad os prøve at se på hovedproblemet.
Indholdsfortegnelse
Hovedproblem med det aktuelle år til dato-beregning
Som du kan se her i vores eksempel på det samlede salg , returnerer det blankt for resultater, der faktisk ikke har et resultat . Derfor blev den kun vist et par dage i 2018. Du kan også se her, at vi kun har indtil den 6. januar .
Lad os nu prøve at lave en simpel år-til-dato- beregning af salg . Klik på Ny mål under fanen Modellering , og vi vil navngive målingen som YTD Sales.
Lad os bruge TOTALYTD- funktionen. Dette vil evaluere det angivne udtryk (i dette tilfælde det samlede salg ) over det interval, der begynder på årets første dag og slutter med den sidste dato i den angivne datokolonne efter anvendelse af specificerede filtre (i dette tilfælde datoerne ) .
Det er bestemt en meget enkel og brugbar funktion. Det pålægger dog et bestemt problem, når du implementerer det på denne måde.
Som du kan se, projicerer den den kumulative total kontinuerligt for hver enkelt dato i det pågældende år. Dette resulterer i sidste ende i flatlinede tal.
Hvis jeg nu vil gøre dette til en visualisering, vil du se her, at der ikke er noget, og det er blot en meningsløs visualisering.
For at gøre dette bedre, er vi nødt til at slette alle resultater , som har overskredet det sidste salg, vi har foretaget.
Så Salget vil åbenbart opdateres. Der kan dog være tidspunkter, hvor du af visse årsager ikke ønsker at beregne det baseret på det seneste salg.
Det kan være, fordi du ikke laver noget salg, eller du måske har haft en helligdag eller noget andet i den retning. I dette tilfælde ønsker du sandsynligvis at gå til den sidste købsdato i stedet for at se det faste tal.
Oprettelse af salgsår til dato-mål
Her er en teknik, som du kan bruge til at løse det bestemte problem.
Først og fremmest skal vi oprette en formel for den sidste salgsdato og navngive dette mål som Salg YTD .
Lad os nu oprette en variabel og kalde den LastSalesDate .
Så bruger vi . MAXX er en fantastisk måde at finde en meget specifik ting på, især omkring datoer. Dette returnerer den største numeriske værdi , der er resultatet af at evaluere et udtryk for hver række i en tabel.
Derefter vil vi bruge funktionen ALLE til at gentage hver enkelt købsdato .
Derefter skal vi evaluere den faktiske sidste købsdato .
Nu, hvis vi ikke bruger dette, vil den sidste købsdato bogstaveligt talt være dagen på hver eneste af disse dage.
Så hovedårsagen til, at du skal brugeher er, fordi dette altid vil finde den 6. januar (sidste købsdato), og det er præcis, hvad vi ønsker. Vi ønsker, at dette skal være en konstant 6. januar .
Lad os derefter oprette en variabel her og navngive den som YTDSales .
Så vi kommer til at skrive nøjagtig den samme formel for beregning af år til dato salg , som vi har skrevet tidligere. Lad os bruge TOTALYTD til at gennemgå de samlede salg og datoer .
Så vil vi bruge nøgleordet RETURN , som vil håndtere de definerede variabler i de tidligere VAR- sætninger.
Brug af IF-logik til at beregne årets salg til dato
Her vil vi skrive en HVIS- logik for at evaluere, om MIN DATO er mindre end eller lig med LastSalesDate . Så det er mindre end eller lig med den 6. januar i dette særlige tilfælde.
Hvis resultatet er sandt, returner YTDSales .
Hvis sætningen er falsk, skal den returnere en tom værdi .
Og det er sådan, vi stort set vil filtrere fra eller ikke vise nogen af resultaterne efter den sidste dag, hvor der var et faktisk salg.
For at opsummere var alt, hvad vi skulle gøre, at integrere LastSalesDate i en IF-sætning .
Nu, hvis jeg rent faktisk bringer dette mål ind i salgstabellen her , vil du se, at resultaterne faktisk afskæres efter den sidste købsdato og viser disse tomme værdier som det, vi har ønsket.
Hvis vi ser på det uden YTD-salgsmålet imellem, vil vi have en meget mere afkortet tabel som den fra billedet nedenfor.
Og hvis vi gør dette til en visualisering, vil vi have det op til den aktuelle sidste købsdato , eller i nogle tilfælde kan du gøre det op til sidste dato .
Konklusion
Forhåbentlig har du lært lidt om, hvordan du kan løse ting som dette. Husk, at du på en eller anden måde skal oprette en eller anden logik, der viser et tomt felt i tabellen, fordi det tomme felt ikke vises i visualiseringen .
Hvis du ikke implementerer denne teknik i dine målinger på det rigtige tidspunkt, kan dine visualiseringer se lidt mærkelige ud.
Du kan også anvende denne teknik i meget lignende situationer, hvor du vil vise kumulative totaler som YTD, QTD eller MTD til den aktuelle dato.
Glem ikke at tjekke ud, hvis du ønsker at lære mere om andre unikke LuckyTemplates-emner og -teknikker, som du kan bruge i dine egne modeller.
***** Lærer du Lucky Templates? *****
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.