Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg vil vise dig, hvordan du holder dit praksisdatasæt opdateret, hver gang du foretager en opdatering . Du kan se den fulde video af denne tutorial nederst på denne blog.

Hvis du virkelig ønsker at forbedre dine DAX-færdigheder, er måden at bruge det og omsætte det i praksis. Og for at gøre det har du brug for et øvelsesdatasæt, der hjælper dig med at visualisere og arbejde på mulige scenarier i det virkelige liv.

Problemet med praksisdatasæt er, at dataene normalt er statiske . For at du kan øve dig effektivt, skal du give indtryk af, at dataene er live.

Indholdsfortegnelse

Opsætning af en filsti til øvelsesdatasættet

Til mine eksempeldata har jeg en Excel-fil, der indeholder salgsdata fra 2014, 2015 og 2016.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Dette er de data, jeg skal opdatere.

Dokumentets placering kan findes her på min Quick Access Toolbar.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg har brug for det for at opsætte en parameter for min filsti. Så jeg vil kopiere dokumentets placering.

Der er et adgangspunkt til værktøjslinjen Hurtig adgang til højre for den.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Når jeg trykker på den, får jeg denne skærm.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så jeg går efter Alle kommandoer og vælger derefter Dokumentplacering . Føj det til værktøjslinjen Hurtig adgang, og tryk på OK.

Nu vil jeg gå ind ifor at oprette den parameter, der skal holde min filsti. Dette trin er vigtigt, fordi det tillader alle forespørgsler inde i modellen at blive gendannet, hvis en anden bruger ændrer filplaceringen.

Så jeg opretter en ny parameter .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg vil kalde det FileLocation .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Under type vil jeg vælge Tekst . Og for Current Value , indsætter jeg den dokumentplacering, jeg kopierede tidligere.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg vil oprette en ny forespørgsel.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Derefter vælger jeg de eksempeldata, jeg vil bruge som mit praksisdatasæt.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

En række forskellige tabeller vil komme op her, da jeg har salgsdata fra 2014, 2015 og 2016. Jeg skal bare vælge den første, som er Salg_2014 .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Nu hvor jeg har valgt Sales_2014-dataene, er det tid til at ændre den hårdkodede filplacering til en dynamisk filplacering .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg går ind i den avancerede editor og vælger alt, der er relateret til filplaceringen .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så vil jeg ændre det til FileLocation-parameteren, jeg oprettede tidligere.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så trykker jeg på Udført for at låse disse ændringer i Sales_2014-forespørgslen.

Oprettelse af dataforberedelsesmappen

Når jeg ser på de anvendte trin til Sales_2014-forespørgslen, klikker jeg på navigationstrinnet . Dette viser mig, at det refererer til kildetrinnet .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Den henviser også til Sales_2014 , som er vist som en tabel . Det viser også, at det udtrækker data fra kolonnen Data.

Lad mig nu se på Kilde- trinnet næste gang.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Kildetrinnet viser mig alt, hvad der findes i min Excel-fil . Hvis jeg tjekker disse koordinater, ser jeg Sales_2014 , og under Kind står der Tabel .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Når jeg slår op i datakolonnen, viser den det tabelobjekt , der blev udtrukket.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så jeg kan duplikere denne forespørgsel for at komme med 2015-dataene . For at gøre det skal jeg bare højreklikke på Sales_2014 og derefter vælge Dupliker.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så går jeg tilbage til navigationstrinnet.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg ændrer det år fra 2014 til 2015.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg vil også omdøbe det her under Egenskaber. Jeg vil kalde det Sales_2015.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Denne gang dublerer jeg Sales_2015.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så går jeg tilbage til navigationstrinnet og ændrer året til 2016.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg har nu mine komplette salgsdata. Men disse forespørgsler skal ikke indlæses i min model . Jeg skal bare højreklikke på hver af dem og fravælge Aktiver indlæsning .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Nu vil jeg vælge alle forespørgslerne og placere dem i en enkelt mappe for at gøre tingene mere organiserede.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg kalder denne mappe Data Prep .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

At få dagen forskudt

Eksempeldataene her under Data Prep vil være statiske . Det betyder, at den 1. og den sidste dato aldrig ændres .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så jeg går ind i Sales_2016 , og jeg vil sortere kolonnen Ordredato i faldende rækkefølge for at få den sidste dato fra dette datasæt .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Sidste dato i dette datasæt er den 31. december 2016 .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Nu vil jeg oprette en ny forespørgsel.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Derefter vil jeg tjekke, hvad dagforskydningen er fra den sidste dato i datasættet til i dag. Det betyder, at jeg skal finde ud af, hvad der er i dag. For at gøre det bruger jeg funktionen DateTime.FixedLocalNow . Dette vil give mig datoen og klokkeslættet fra den maskine, jeg arbejder på.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Men jeg har ikke rigtig brug for tidsdelen her. Jeg har kun brug for datodelen af ​​denne værdi.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så jeg vil udtrække datoen ved hjælp af Date.From .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så fra denne værdi vil jeg trække den sidste dato i mit datasæt . Da dataene er statiske, kan jeg bruge den iboende datoværdi . Så det er #dato og derefter reference 31. december 2016.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Nu skal jeg udtrække tallet fra denne forskel . Så jeg tilføjer Number.From og lukker det af med en parentes. Tryk derefter på enter.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg omdøber dette til DayOffset .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Opsætning af dynamiske datointervaller

Jeg har også brug for dynamiske datointervaller til min datotabel. Jeg starter med at højreklikke på mappen Data Prep og oprette en ny tom forespørgsel.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Derefter arbejder jeg på startdatoen for min Dato-tabel.

Jeg vil altid have årets 1. dag som min startdato. Så jeg sætter lighedstegnet og bruger funktionen Date.StartOfYear .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Da jeg skal give det en værdi, vil jeg udligne det ved at bruge Date.AddDays .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så bruger jeg den indre datoværdi igen og bruger den 1. dato på mit datasæt , som er 1. juni 2014.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg har også brug for det antal dage, som jeg har beregnet i min DayOffset , så det vil jeg tilføje.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Når jeg trykker enter, giver det mig 1. januar 2017 . Dette bliver den 1. date i min datetabel.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg omdøber det til fxStartDate .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Nu kan jeg indstille min slutdato. Jeg vil kopiere denne syntaks, jeg brugte på min startdato.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg opretter en ny tom forespørgsel.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Omdøb den derefter til fxEndDate .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så vil jeg indsætte syntaksen fra min startdato .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

I stedet for StartOfYear ændrer jeg dette til EndOfYear.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg vil også bruge sidste dato for mit datasæt , som er den 31. december .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Når jeg trykker på Enter, vender den tilbage den 31. december 2020 .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Oprettelse af en enkelt salgstabel

Jeg vil kombinere de 3 borde til en enkelt salgstabel . For at gøre det vil jeg oprette en ny forespørgsel.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg vil kalde dette min salgstabel .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så kombinerer jeg Salg_2014, Salg_2015 og Salg_2016 i en enkelt tabel.

Jeg ved godt, at du kan gøre det gennem båndet, men der er også mulighed for at gøre det direkte i formellinjen. Jeg vælger den anden mulighed.

Jeg starter med Table.Combine .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Table.Combine kræver en liste over tabeller . Så jeg tilføjer en listeinitialiserer , som er de krøllede parenteser , så vil jeg navngive de 3 forespørgsler . Tryk derefter på enter.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Transformering af ordredatokolonnen

Nu hvor jeg har de fleste af de elementer, jeg har brug for, vil jeg generere en vigtig del af syntaksen, som jeg senere skal bruge til at færdiggøre mit dynamiske øvelsesdatasæt.

Jeg starter med at vælge to talkolonner. Jeg kan bruge leveringsregionsindekset og produktbeskrivelsesindekset . På din ende kan du trykke enten Shift eller Ctrl ned for at vælge begge kolonner.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Under fanen Transformer vælger jeg Absolut værdi .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Hvis jeg ser på formellinjen, vil den vise funktionen Table.TransformColumns . Dette er nøglen til den endelige løsning.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Funktionen tager en liste over transformationslister . Som du kan se, er der 2 lister her indlejret inde i hinanden.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Det refererer til kolonnenavnet som tekst. Det er derfor, Delivery Region Index blev refereret her på 1. sæt.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Derefter tilføjer den et transformationstrin .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Det gør det samme i en separat liste for kolonnen Produktbeskrivelsesindeks .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Nu går jeg til .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg vil ikke have absolutte værdier . Så det første jeg skal gøre er at udligne min date . Jeg opretter en funktion kaldet fxUpdateDate for at gøre det. Det kommer til at bruge den nuværende dato, som jeg indtaster som cDate .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så vil jeg bruge Date.AddDays -funktionen igen, som også bruger cDate . Jeg vil også bruge DayOffset, jeg oprettede tidligere.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Alt hvad fxUpdateDate gør er at tage datoen. Så hvis jeg sender det videre til funktionen Table.TransformColumns , begynder den at tjekke for hver optaget dato.

Så hvis jeg for eksempel arbejder på 1. række her, vil den betragte 1. juni 2014 som cDatoen.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Og hver gang funktionen bliver kaldt, vil den tilføje det DayOffset, som jeg oprettede.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Nu dukker trinnet Table.Transform op i Calculated Absolute Value .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg vil først omdøbe det og kalde det UpdateOrderDate.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Dette UpdateOrderDate- trin involverer min Table.TransformColumns, som er lig med Kilden.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Den angivne indledende tabel er leveringsregionindekset . Men der er ingen grund til at ændre det. Så jeg vil ændre den første kolonne, der henvises til, til kolonnen OrderDate .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Det står også her, at transformationen kommer til at være i absolutte værdier.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Da jeg ikke ønsker det, vil jeg ændre det til fxUpdateDate .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Typen kommer heller ikke til at være en absolut værdi, så jeg skal også ændre denne del.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg ændrer det til en date .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg har kun brug for én transformation, så jeg sletter den anden liste sammen med transformationstrinnet, der følger med det sæt...

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

…så det er kun en transformation for kolonnen OrderDate.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Fordi jeg omdøbte trinnet til beregnet absolut værdi, er jeg også nødt til at ændre det i min erklæring.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Nu viser den også UpdateOrderDate .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

kolonnen OrderDate vil nu kalde denne funktion for hver post i Table.TransformColumns .

Når jeg ser i kolonnen Ordredato, kan jeg se, at denne er blevet opdateret.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Og hvis jeg sorterer det i faldende rækkefølge, viser det 7. juli 2020 som den aktuelle dato.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Så jeg har tænkt mig at fjerne det sorteringstrin, fordi jeg ikke rigtig har brug for det. Det gjorde jeg kun for at tjekke, om den aktuelle dato også var blevet opdateret.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Anvendelse af tidsintelligens ved hjælp af M-kode

Min model handler udelukkende om salgsdata . Da jeg har tænkt mig at lave noget tidsintelligens, ville jeg have brug for en Datotabel .

Så jeg går til. I M-code Showcase går jeg ind på Extended Date Table- emnet.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Rul op til toppen af ​​siden og kopier hele koden .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Når jeg går tilbage til min model, vil jeg oprette en ny tom forespørgsel og indsætte den M-kode i . Tryk på Udført.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Jeg omdøber den forespørgsel til fxCalendar .

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Til mine parametre vil jeg bruge den 1. januar til Startdatoen og den 31. januar til Slutdatoen . Tryk derefter på Invoke.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Once the table comes up, I’m going to rename it as Dates.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Remember that I already created the start and end dates by looking at the 1st date on the sample dataset and offsetting that by my DayOffset. So the fxStartDate here shows up as January 1st, 2017.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

As for the fxEndDate, it returns the 31st of December, 2020.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

I can go back to the Dates table and update that Source step there as well.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

It lists the parameters in the order that they were called. The first parameter should show the start date.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

I’m going to change that into fxStartDate.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

I’m also going to replace the second parameter.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

I’ll put in the fxEndDate.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

Once I press Enter, the transformation is complete. I now have a fully up-to-date practice dataset that will always remain current.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates

I’ll just click on Close & Apply to lock all of those steps in.

Opret et permanent opdateret øvelsesdatasæt i LuckyTemplates




Conclusion

As I mentioned earlier, having your own dynamic practice dataset will definitely level up your game when it comes to LuckyTemplates. It allows you to practice your skills and knowledge while pretending that you’re working on a real-life scenario.

If you want to learn more about making your start and end dates dynamic especially for a practice dataset you’re using, you can check out the LuckyTemplates Forum. There are a lot of conversations there about this as well as other relevant topics. You may even find other approaches that would work for you.

Alt det bedste,

Melissa


Pipe In R: Tilslutningsfunktioner med Dplyr

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.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

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.

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

Udpakning af LuckyTemplates-temaer og -billeder fra PBIX

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

Excel Formler Snydeark: Mellemvejledning

Excel Formler Snydeark: Mellemvejledning

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det

Python i LuckyTemplates: Sådan installeres og konfigureres

Python i LuckyTemplates: Sådan installeres og konfigureres

Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

Beregning af dynamiske fortjenestemargener – nem analyse af LuckyTemplates med DAX

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.

Sortering af datotabelkolonner i LuckyTemplates

Sortering af datotabelkolonner i LuckyTemplates

Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

Find dine topprodukter for hver region i LuckyTemplates ved hjælp af DAX

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.

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

Junk Dimension: Hvad er det, og hvorfor det er alt andet end junk

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.