Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Denne vejledning vil diskutere, hvordan du vælger eller filtrerer en bestemt dato i din . Materialet, der bruges i denne øvelse, kommer fra . Du lærer, hvordan du løser problemet og forstår de anvendte metoder. Du kan se den fulde video af denne tutorial nederst på denne blog.

Indholdsfortegnelse

Forstå datarapporten i LuckyTemplates

Dette er eksempeldatarapporten, der vil blive brugt. Den består af en bordvisuel og to skæremaskiner.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Målet er at have et datovalg over kolonnen Dato på udskæreren. Det betyder, at når en dato i sliceren er valgt, vil tabelvisualiseringen vise de foregående dage med et 7-dages interval. I dette eksempel er de data, der er valgt i datoudsnitteren 12. maj 2007.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Tabellen skal vise det foregående med en 7-dages forskel mellem datoerne.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Du skal også oprette en hvad hvis-parameter for dynamisk at vise antallet af datoer baseret på valget. Hvis du vælger 3 , skal den visuelle tabel kun vise 3 datoer.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Genskabelse af tabellen og visualiseringer

Det første trin er at oprette en hvad hvis-parameter . Inde på LuckyTemplates-skrivebordet skal du gå til fanen Modellering og vælge Ny parameter .

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Tilføj et navn til parameteren, og indstil datatypen til hele tal . Indstil derefter minimum-, maksimum-, stignings- og standardværdierne som vist på billedet nedenfor. Tilføj sliceren til siden ved at markere afkrydsningsfeltet.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Når du har trykket på OK, genereres en udsnitsmaskine. Konverter sliceren til en liste ved at klikke på rullemenuen og vælge Liste.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Den næste ting at gøre er at oprette en duplikeret datotabel, som vil blive brugt som en afbrudt datotabel. Gå til Power-forespørgselseditoren og dupliker Datoer .

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Derefter skal du omdøbe den dublet DisDate og klikke på Luk & Anvend.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Indlæser datotabellerne og udskærerne i LuckyTemplates

Når den duplikerede tabel er indlæst i LuckyTemplates-modellen, skal du oprette en slicer med datokolonnen fra den afbrudte datotabel. Åbn DisDate-tabellen, og træk Date til lærredet.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Gør derefter visualiseringen til en udskærer.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Skift derefter formatet på udsnitsværktøjet til Liste . Visualiseringen vil så se således ud.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Dupliker derefter udsnitsværktøjet og skift datafeltet med kolonnen Dato fra tabellen Datoer.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Hvis du vælger en dato fra Dates slicer, begrænses salgstabellens antal af synlige rækker i matrixen. Hvis du vælger 14. marts 2005, vil matricen kun vise denne dato.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Resultatet og målingen virker ikke, hvis du bruger denne opsætning. Årsagen er, at selv før foranstaltningen begynder at virke, er adgangen til matrixen allerede blevet filtreret. For disse filtrerede værdier vil du ikke være i stand til at generere datoerne med intervaller.

Oprettelse af mål til udvalgsskærerne

Du skal oprette en opsætning af datoer, der ikke filtrerer matrixen direkte, når en markering placeres over en udsnitsmaskine. Filtreringen af ​​matrixen skal komme gennem og ikke direkte fra udskærerne. Så hvis du vælger en dato fra DisDate slicer, sker der ingen ændringer i matrixen.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Dette sker, fordi DisDate-tabellen ikke har en relation til Dates-tabellen. Derfor er det afbrudte bord vigtigt.

Slet udskæringen med Datoer-tabellen og opret den første takt. Målingen vil hente den værdi, der er valgt fra Dates To Show sliceren. Den første variabel, du skal oprette, er ValuesToShow . Dernæst sidestilles det med Dates To Show-værdien og indtaste RETURN for at returnere de valgte værdier.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Træk det mål ind i matrixen. Hvis du vælger 6 fra Dates To Show sliceren, vil kolonnen Mål i matrixen også give 6.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Dernæst skal du oprette en anden variabel, der vil hente den afbrudte dato, der er valgt i udsnitsværktøjet.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Når du er færdig, vil du se den valgte værdi i DisDate sliceren vist i kolonnen Mål.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Oprettelse af en beregnet tabel

Opret en liste over datoer med 7-dages intervaller startende fra den valgte dato i sliceren. Sørg derefter for, at matrixen vil generere antallet af dage baseret på Datoer, der skal vises slicer-valget. For at gøre dette skal du først oprette en .

Den beregnede tabel hjælper dig med at visualisere, hvordan datoer genereres inde i DAX-koden. Gå til datavisningen, og klik på Ny tabel.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Indtast variablen SelectedDate og sidestil den med DATE -funktionen. Indtast derefter en dato i parentesen. Derefter skal du oprette en anden variabel, der angiver antallet af datoer, du vil vise i matrixen. Indtast DatesToShow og sidestil det med antallet af datoer.

Derefter skal du oprette en anden variabel, der genererer en liste over datoer med 7-dages intervaller. Indtast datoliste og brug funktionen GENERATESERIES . er en funktion, der genererer en liste over tal ved at indsætte flere argumenter.

For det første argument skal du indtaste SelectedDate – (DatesToShow * 7)  som startværdien. Indtast derefter SelectedDate som slutværdien. For det sidste argument skal du indtaste 7 for stigningsværdien eller intervallet mellem datoer. Når du er færdig, skal du lukke funktionen og indtaste RETURN og DateList .

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Du kan derefter se en tabel, der indeholder syv værdier, der starter fra den 5. maj og går tilbage med trin på syv.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Nu vil du bemærke, at det skabte for mange datoer, end du har brug for. I den oprindelige eksempelrapport var den sidste dato vist med de samme Datoer, der skal vises og Datovalg, den 31. marts.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

For at rette op på det kan du enten ændre DatesToShow-variablens værdi til 5 eller trække 1 fra 6. I dette eksempel trækkes 1 fra 6.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Derefter vil du se, at værdierne slutter den 31. marts.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Injektion af datoer i filterkonteksten

Dernæst skal du bruge og indsætte disse datoer i en datofilterkontekst. Du skal også beregne salgsbeløbet i filterkonteksten. Så kopier GENERATESERIES- syntaksen og gå tilbage til dit mål.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Tilføj en ny variabel i målingen og indtast DatesToShow . Sæt derefter lighedstegn mellem den variabel og GENERATESERIES -syntaksen. Skift variablerne inde i syntaksen fra SelectedDate til DisSelectedDate og DatesToShow til ValuesToShow .

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Til sidst skal du oprette en variabel for resultatet. Sæt lighedstegn mellem det med funktionen CALCULATE over Total Sales og DatesToShow for at indsætte alle de datoer, der er modtaget fra GENERATESERIES- syntaksen, i filterkonteksten. Når du er færdig, indtast Resultat i RETURN- funktionen.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Nu vil du se, at matrixen ikke viser de datoer, som DAX-koden anmoder om. Hvis du bringer det samlede salgsmål i matrixen, vil du se, at koden returnerer selve salgsbeløbet.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Problemet med målingen er, at den dato, der blev oprettet i GENERATESERIES- syntaksen, har en datalinje med den afbrudte datotabel. Det betyder, at Dato-tabellen ikke er forbundet med Sales-tabellen. Det er derfor, da listen over datoer blev anvendt i filterkonteksten, inkluderede den ikke Salgstabellen.

Du skal bruge funktionen til at skabe virtuelle relationer og anvende filterkonteksten.

Brug af TREATAS til at rette datoen i LuckyTemplates Matrix

Du skal behandle de værdier, der blev modtaget fra GENERATESERIES- syntaksen, som om de var en del af den originale Dato-tabel. Dette er dybest set at bygge en afstamning med Dato-kolonnen i Dato-tabellen, der er i datamodellen.

Så i resultatvariablen skal du indtaste TREATAS efter tabellen Samlet salg og angive argumenterne. For det første argument skal du angive den kolonne eller tabel, der ikke har relationen. I dette tilfælde bruges DatesToShow- kolonnen.

For det andet argument skal du angive den kolonne, som du vil tilknytte kolonnens linje i det første argument til. I dette eksempel bruges kolonnen Dato fra tabellen Datoer.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Men selv med rettelserne i koden, vil kolonnen Mål i matrixen stadig ikke vise de korrekte værdier, når du bruger udskæreren. Du kan også bemærke, at værdierne inde i kolonnen gentages.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Problemet ligger i måden koden blev skrevet på. TREATAS anvender alle værdier i filterkonteksten ogtilsidesætter den eksisterende filterkontekst på den valgte dato med alle de værdier, der er blevet hentet fra funktionen GENERATESERIES .

Brug af KEEPFILTERS-funktionen over TREATAS

For at sikre, at filteret sprøjtes ind i filteret uden at tilsidesætte den eksisterende filterkontekst, skal du bruge KEEPFILTERS- funktionen. ændrer CALCULATEs filtreringssemantik.

Indtast KEEPFILTERS før TREATAS -funktionen og bekræft målingen.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Du vil nu se, at værdierne i kolonnen Mål ikke gentages.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Hvis du udvider månederne maj og april, vil du se, at værdierne i kolonnen Mål er lig med værdierne i kolonnen Samlet salg.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Fjern målet for det samlede salg i matrixen, og vælg et tal i udsnittet Datoer, der skal vises. Du vil derefter se det tilsvarende antal datoer, der vises i matrixen.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Løsning af manglende datoproblemer i LuckyTemplates Matrix

Et andet problem med denne rapport er, at når du vælger 8 i DatesToShow- sliceren, ændres matrixen ikke.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Hvis du vælger 9 i sliceren, viser matrixen kun 8 datoer. Du vil også bemærke, at den 17. marts mangler på listen over datoer.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Årsagen er, at der på nogle dage i tabellen Dato ikke er matchende transaktioner i tabellen Salg. Så målingen returnerer en blank for disse datoer. Da den returnerer blank, fjerner koden, der kører bag matrixen, de tomme rækker fra resultatet.

LuckyTemplates bruger derefter det returnerede resultat til at udfylde matrixen. Så da nogle dage returnerer tomme, kan du ikke se Salg og poster for disse dage i matrixen.

Hvis du vil vise noget for dagene uden salg i dine data, skal du gå tilbage til målingen og fjerne CALCUATE -syntaksen.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Brug af DAX til at løse manglende dato i LuckyTemplates

Opret en datalinje ved at skrive TREATAS over DatesToShow- og Dato- kolonnen i Dates- tabellen. Kontroller derefter, om alle de datoer, der returneres af TREATAS- funktionen, er inkluderet i filterkonteksten.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Derfra opdeles eksekveringen med flere variabler. Skift variabelnavnet fra Resultat til CreateDataLineage for at vise, at det gemmer resultatet af TREATAS .

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Opret derefter en anden variabel, der vil indeholde alle de datoer, der er synlige i filterkonteksten, der kommer fra matrixen. Indtast VisibleDate som variabelnavnet, og brug den over kolonnen Dato .

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Den næste ting at gøre er at oprette en kolonne over resultatet af TREATAS -funktionen, der ville indeholde salgsbeløbet. Skriv DatesWithSales som variabelnavnet og brug over CreateDataLineage- variablen.

Inde i funktionen skal du oprette en ny kolonne og navngive den Salgssum med målingen Total Sales i rækkekonteksten for at starte kontekstovergangen.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Derefter skal du oprette en variabel, der kontrollerer, om alle de datoer, der er gemt i DatesWithSales -variablen, er inkluderet i filterkonteksten. Indtast IsDateInFilterContext som variabelnavnet, og brug funktionen.

Derfra skal du skrive DatesWithSales som det første argument for funktionen. Indtast derefter Dates[Dato] IN VisibleDate som det andet argument for at kontrollere, om datoen indeholdt i DatesWithSales- tabellen er inkluderet i VisibleDate- variablen.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Den sidste variabel, du skal oprette, er Resultat . Brug funktionen over variablen IsDateInFilterContext . Skriv [@Salgsbeløb] + 0 for at inkludere de dage, der ikke tidligere var inkluderet.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Efter alt det, vil du så se den manglende dato, 17. marts, i matrixen.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Brug af +0 i det oprindelige mål

De foregående trin viste dig, hvordan du opbygger et mål for at inkludere alle de datoer, der ikke har transaktioner i faktatabellen. Nu, hvis du bruger + 0 i det oprindelige mål, du oprettede, vil værdierne i kolonnen Mål alle være 0.

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Vælg specifik dato i LuckyTemplates ved hjælp af DAX-beregning

Årsagen er, at resultatvariablen indeholder enten et tomt beløb eller et salgsbeløb. Så hvis du tilføjer 0, erstatter du det tomme med 0. Husk, at opsummerede kolonner fjerner de tomme rækker fra datasættet. Returner dem til LuckyTemplates, så de kun kan vise begrænsede rækker og ikke de tomme felter.

Men da 0 er tilføjet, er opsummeringskolonnen tvunget til at beholde rækkerne. Det returnerer derefter en tabel, der indeholder alle de datoer, der findes i Datoer-tabellen og viser nul, hvor det er relevant, eller når det er tomt.

Dette er grunden til, at du skal omskrive målingen på en måde, hvor du kun skal tilføje 0 til de datoer, der er synlige i filterkonteksten og er inkluderet i DatesToShow- variablen .




Konklusion

For at oprette en datarapport, der lader dig vælge en bestemt dato i en , skal du bruge beregnede tabeller og. DAX funktioner og mål skal skrives på en måde, der nemt kan opnå resultater.

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.