LuckyTemplates Virtual Table | 5 tips og tricks til fejlretning

LuckyTemplates virtuelle bord er mit personlige favorit DAX-emne. De er nøglen til at låse op for den fulde kraft af DAX. Virtuelle tabeller er den eneste type tabeller i LuckyTemplates, der er fuldt dynamiske, og der er problemer, der kun kan løses ved at anvende virtuelle tabelteknikker inden for dine mål. Du kan se den fulde video af denne tutorial nederst på denne blog.

I denne tutorial vil jeg dele mine top 5 tips og tricks, som jeg har akkumuleret gennem årene, og som virkelig har hjulpet mig med at forstå og fejlfinde, hvad der sker i Power Bi virtuelle tabeller.

Eksemplet jeg skal gå igennem i dag er fra, og det kommer fra et medlem ved navn Dave C, der arbejder med industriel sikkerhed. Dave havde en række sikkerhedsscore, og han ønskede at normalisere dem, så topscore var 10, og derefter dynamisk komme op med N. på listen.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

I første omgang tænkte vi på at gøre dette gennem en simpelmåle, men vi indså senere, at mange af hans normaliserede værdier har bånd. For eksempel, hvis du vil have det syvende punkt på listen, vil der ikke være et nummer syv i en RANKX. Der er ingen nem måde at trække det ud af en filtertilstand. Så vi besluttede os for en-baseret mål, så det altid ville tælle ned det n'te tal.

Dette svarer til, når du trækker det syvende kort fra et spil, du tæller syv kort ud, og så vender du den stak med syv, og kortet i bunden er det, du ønsker. Vi vil gøre det, der svarer til det i en TOPN-foranstaltning.

Indholdsfortegnelse

Tip #1: Brug et eksternt værktøj til at visualisere din virtuelle LuckyTemplates-tabel

Du kan bruge DAX Studio eller Tabular Editor. I dette eksempel bruger jeg Tabular Editor 3 (TE3). Det er teknisk muligt at gøre dette ved at bruge fanen Modellering – Ny tabel, men det vil skabe fysiske tabeller i din datamodel. Du bliver nødt til manuelt at vende mellem det og editoren, og det er bare en langsom og svær måde at gøre det på.

Når du ser den dynamiske måde, hvorpå det kan gøres gennem et eksternt værktøj, vil du se fordelen.

Så inden for TE3 opretter vi en ny DAX-forespørgsel. Vi kan tage vores indledende foranstaltning og kopiere dette over til vores DAX-forespørgsel.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Hvis du husker det, starter DAX-forespørgsler altid med EVALUATE . Vi får først en fejl, fordi DAX-forespørgsler returnerer tabeller . Dette var et mål med de sidste to variabler, der er skalarer. Det, vi kan gøre her, er at ændre returværdien , hvilket er mit næste tip.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Tip #2: Fejlfind din LuckyTemplates virtuelle tabel i dele ved hjælp af variabler

Du kan fejlsøge virtuelle tabeller på nogenlunde samme måde, som du gør med mål – stykke for stykke ved at ændre returværdien. Lad os starte med den første virtuelle tabel, vEvalTable . Vi erstatter simpelthen RETURN-værdien (Final) med vores første variabel (VAR). Og du kan se, at fejlen forsvinder, fordi DAX-forespørgslen nu får en tabel.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

I vEvalTablen tager vi de originale data, som er sikkerhedsscorerne, og vi normaliserer dem og tilføjer den normaliserede værdi-kolonne til den virtuelle tabel. Vi har indekset, regionens værdi og den normaliserede værdi. Vi kan sortere disse værdier op eller ned og filtrere værdierne også.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Dette giver os præcis, hvad vi havde forventet. Det returnerer 50 rækker, som er det fulde datasæt. Det hele går godt, så lad os gå ned og udforske den næste tabel, som er vTableTopN . I denne tabel tager vi TOPN ved at bruge den n'te elementskyderværdi. I dette eksempel har vi den syvende værdi af den virtuelle tabel ovenfor (vEvalTable), og vi tager den TOPN baseret på den normaliserede værdi i faldende rækkefølge.

Så når vi ændrer vores RETURN-funktion til det, falder den af, og vi får ikke noget. Lad os tage et kig på hvorfor, fordi dette er et virkelig vigtigt koncept til fejlretning og forståelse af virtuelle tabeller.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Hvis vi ser på formlen, har vi Nth Item Slider Value som hovedmistænkt her. Tilbage til LuckyTemplates, vi kan se, at dette dybest set kun er at høste tallet syv. Bemærk, at skydere findes inden for konteksten af ​​en side .

Og så, i dette tilfælde, når vi ser på at fejlsøge den tabel ud af kontekst, har den valgte værdi ingen kontekst omkring sig . Det har ikke noget i forhold til at kunne trække det tal. Vi fik en TOPN, men vi ved ikke, hvad N er i TOPN, fordi den valgte værdi returnerer en blank.

Hvordan håndterer vi det? Lad os se på det valgte værdimål. Det meste af tiden er vi altid opmærksomme på den første parameter i, men der er en anden parameter, som er en alternativ. Dette bringer os til mit tredje tip.

Tip #3: Brug den alternative parameter i SELECTEDVALUE

Det, der skete her, er, at det har trukket blankt som suppleant. Men det, vi ønsker at gøre (til debugging formål), er, at vi ønsker at sætte en reel værdi heri . Så vi sætter tallet 7 og gemmer det.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Nu har vi nogle værdier. Den returnerer syv rækker, hvilket er præcis, hvad den skal på grund af denne TOPN-værdi på syv.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Lad os fortsætte ned ad linjen til den næste virtuelle tabel, som er vTableNthItem . Vi har den stak med syv kort, og dette bord vender i bund og grund det om. Vi var i faldende rækkefølge i den foregående tabel, og nu er vi i stigende rækkefølge.

Hvis vi tager og kopierer dette ned til RETURN-sektionen, får vi resultaterne. Det er interessant, at det ikke vender tilbage én række. Det returnerer tre rækker, fordi disse tre er bundet. Det er netop grunden til, at vi bruger TOPN frem for RANKX, i dette tilfælde.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Lad os nu gå til Resultat . Hvis vi kopierer VAR-resultatet ned til RETURN-sektionen, kommer dette til mit fjerde tip.

Tip #4: Brug { } til at omdanne skalarer til tabeller

Inden for formlen tager vi max () af det vTableNthItem, og vi returnerer den normaliserede værdi. Dette kunne være, det kunne være, det kunne være. Det er bare en aggregator, der returnerer den ene værdi i den tabel. Og så, hvis vi kopierer dette ned, vil det give os en fejl, fordi det nu er en skalar.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Men dette er mit fjerde tip, som er i forbindelse med fejlretning. Det du kan gøre er blot at tilføje de krøllede parenteser . Ved at gøre det forvandler det denne skalar til en tabel.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Og så, hvad vi har her, er blot et sidste fejltjek, som er, hvis det viser sig, at evalueringstabellen er mindre end antallet af rækker, vil den returnere utilstrækkelige data. Men vi ved i dette tilfælde, at vores datasæt er stort nok. Det kan vi dog bare teste ved at skrive i Final . Igen, fordi det er en scaler, har vi også brug for de krøllede beslag, og vi får den samme værdi her.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Vi har dykket ned i og fejlrettet denne virtuelle tabel, og vi har brugt den alternative værdi i SELECTEDVALUE for at forhindre, at den falder ud af kontekst. Nu vil jeg bare vise dig et ekstra tip, som jeg fandt virkelig nyttigt.

Tip #5: Brug CONCATENATEX/UNICHAR til at forvandle et bord til en skalar

I forbindelse med at udføre din fejlsøgning, vil du gerne se i LuckyTemplates, hvordan den tabel ser ud. Den generelle regel er, at et mål kun kan returnere en skalar, ikke en tabel. Men der er en snydekode, som jeg vil vise dig, som gør det muligt at næsten returnere et bord.

Lad os tage et kig på dette mål, som er Visualized Virtual Table , og vi har her alle de virtuelle tabeller, som vi havde i starten. For eksempel ønsker vi at vise, lad os sige på forsiden af ​​rapporten, vTableTopN.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Du kan bruge dettefungere. Du kan faktisk tage det virtuelle tabelnavn (vTableTopN) og tage værdierne i den tabel og sammenkæde dem. Du kan oprette noget, der grundlæggende ligner et virtuelt bord.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Hvis vi tager denne foranstaltning, skal vi gå tilbage til LuckyTemplates og slippe dette i et kortmål. Typisk giver tabellen en fejl, men gennem CONCATENATEX forvandlede den den tabel til en scaler. Du kan se, at det er ret primitivt, men det returnerer præcis, hvad vi forventer, og det gør det på en dynamisk måde.

LuckyTemplates Virtual Table |  5 tips og tricks til fejlretning

Det er en måde at skubbe en tabel ind i et mål og vise det i din rapport. Det er et virkelig nyttigt fejlfindingstrick. Det vil give et godt format i en kortværdi, som du kan bruge i en rapport.




Konklusion

Forhåbentlig giver denne tutorial dig lidt stof til eftertanke i forhold til at arbejde med et LuckyTemplates virtuelt bord. Dette er nogle yderligere tips og tricks til at forstå, hvad der foregår i dine virtuelle borde. Jeg håber, du fandt det nyttigt.

Besøg voresfor flere LuckyTemplates tutorials og tjek nedenstående links for mere relateret indhold.

Alt det bedste!


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.

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Datamodellering i LuckyTemplates ved hjælp af understøttende tabeller

Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Avanceret DAX til LuckyTemplates: Implementering af rangeringslogik på tværs af unikke indsigter

Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.

LuckyTemplates What-If-parameterfunktion

LuckyTemplates What-If-parameterfunktion

Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Brug LuckyTemplates Mål forgrening for at kontrollere, om dine avancer udvides, efterhånden som omsætningen vokser

Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.

LuckyTemplates-parametre via forespørgselseditor

LuckyTemplates-parametre via forespørgselseditor

Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.

Rundt søjlediagram – en visualisering til dit dashboard

Rundt søjlediagram – en visualisering til dit dashboard

Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.

PowerApps funktioner og formler | En introduktion

PowerApps funktioner og formler | En introduktion

Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.

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.