DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
For dagens opplæring skal vi bygge en LuckyTemplates tilpasset spørringsfunksjon som skal håndtere et vanlig vanskelig å håndtere format av stablede data. Denne teknikken er lett gjenbrukbar på flere rapporter og flere tabeller. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.
Dette er en fortsettelse av opplæringen jeg nylig gjorde der vi behandlet et vanlig vanskelig å håndtere format av stablede data og brukte Modulo, Pivot og noen rensefunksjoner med Power Query for å transformere disse dataene til et organisert og funksjonelt format.
Det er svært sannsynlig at du må gjenta denne prosessen. Hvis denne typen format kom fra en kopiering og lim inn, vil det sannsynligvis skje igjen. Så i dette tilfellet vil du sannsynligvis bygge en egendefinert funksjon som kan gjenbrukes på flere rapporter og flere tabeller, uavhengig av hvordan de heter og hva annet er i disse tabellene.
Innholdsfortegnelse
Hvordan lage og feilsøke LuckyTemplates tilpassede spørrefunksjoner
La oss gå inn i Power Query om dette. Hvis vi går til datatabellen vår, i Advanced Editor, har vi M-koden for hvordan vi endte opp med å gå fra stabeldataene til ønsket format.
Hvis vi vil gjenbruke dette, høyreklikker vi bare på Data og sier, Opprett funksjon .
Det står at det ikke kommer til å referere til noen parameter, men det er greit å lage en funksjon uten parametere. Vi skal svare ja, fordi vi skal legge til parameterne etter hvert i Advanced Editor. Vi kaller denne funksjonen Unstack – 3 Elements , bare fordi vi har de tre radene i råformatet. Hvis vi hadde et format med to rader, ville vi sannsynligvis bygget et separat som var to eller fire elementer.
Så nå har vi denne Invoke, vi har ingen parametere, og la oss gå til Advanced Editor og begynne å jobbe med denne.
For det første trenger vi ikke denne kilden. Vi skal bruke funksjonsparametrene til å definere kilden vår.
Vi ønsker å definere parameteren som skal komme inn. Vi gjør det med en åpen parentes og deretter et parameternavn. La oss kalle dette, Stack , som kommer til å være den ene kolonnen med data som er de uformaterte stackdataene som kom inn fra limingen av e-postadressene.
Vi vil at dette skal komme inn som en liste, og vi vil at dette skal resultere i en tabell fordi når vi deaktiverer den fra den enkelt kolonnen til flere kolonner, går den fra en liste til en tabell. Og nå må vi konvertere den innkommende listen til en tabell slik at vi kan legge til indeksen vår, starte vår Modulo unpivot og gjøre alle tingene vi trenger å gjøre for å formatere den på nytt.
Vi kaller det ConvertStack , og det kommer til å bruke en funksjon kalt Table.FromList . Som mange av M-funksjonene, gjør den akkurat det den sier. Det tar bare en liste. I dette tilfellet vil listen være stabellisten vår. Og så må vi erstatte kilden her med vår ConvertStack. Det ser ganske bra ut! Vi har ingen syntaksfeil, så la oss trykke på Ferdig.
Nå gir det oss det vi ønsket, som er muligheten til å velge en kolonne.
Deretter skal vi velge TestData, som er de feilformaterte dataene. Vi velger Verdi-kolonnen og klikker OK. Etter det klikker vi på Invoke.
Vi får imidlertid denne feilen. Det er veldig vanskelig å finne ut hva denne feilen er. Et av problemene med tilpassede funksjoner er at de ikke bryter ut de anvendte trinnene, du får bare ett trinn for hele den tilpassede funksjonen. Men det er en vei rundt det i feilsøkingen som jeg skal vise deg. Det vil gjøre det mye lettere å finne ut hva som skjer her.
I stedet for å kjøre dette for øyeblikket som en funksjon, skal vi kjøre det som en spørring. Vi skal bare starte det Stack-anropet manuelt. Vi må definere hva Stack er fordi vi ikke tegner det gjennom samspillet med å velge det i Invoke. Så vi har Stack lik TestData, og Verdi-kolonnen til TestData.
Det den gjør er at den deler den ned i de anvendte trinnene. Dette vil hjelpe oss å finne ut hvorfor dette ikke fungerer. Legg merke til en interessant ting når vi trekker Stack inn. Til å begynne med trekker den inn TestData[Value], men når vi konverterer den til en tabell, i stedet for Value er kolonneoverskriften, er kolonneoverskriften nå Kolonne1.
Husk feilmeldingen, det var at den ikke kunne finne Verdi-kolonnen. Grunnen til at den ikke fant Verdi-kolonnen er at Table.FromList-funksjonen omdøper den til Column1.
Hvis vi går ned på Applied Steps, kan du se at det er i Added Custom-trinnet vi får feilen. Det er her verdien av posten ikke ble funnet.
Og så, hvis vi går til Advanced Editor, finner vi det Custom-feltet, og vi kan se at det er i Text.Remove der vi tar ut de søppeltegnene vi ikke trengte, men det refererer fortsatt til feltet Verdi. Vi endrer det til kolonne 1. På samme måte, i Fjernede kolonner-feltet, refererer det til Verdi, så vi endrer det til Kolonne1 også.
Og når vi kommer til slutten av Applied Steps, gir det det perfekte sluttresultatet.
Nå som vi vet at dette fungerer som det skal, har vi bare en ting til å gjøre. Husk at for å feilsøke den, gjorde vi den tilpassede funksjonen til en spørring. Og så, nå må vi ta den spørringen og gjøre den tilbake til en funksjon.
Konklusjon
I denne opplæringen har vi bygget denne tilpassede funksjonen, feilsøkt den, testet den, og den fungerer utmerket. Og nå, når som helst vi har en stabel med tre elementer, kan vi bare velge den tabellen, velge den kolonnen i tabellen og kjøre den egendefinerte funksjonen. Påfør deretter Modulo, unpivot, og ryd opp.
Dette bør gi deg noen fine verktøy når det gjelder å lage tilpassede funksjoner. Husk også det trikset om feilsøking ved å gjøre det tilbake til en spørring fra en funksjon og deretter bytte det tilbake etter feilsøkingen. Det er et virkelig verdifullt verktøy som gjør det mye enklere å feilsøke egendefinerte funksjoner.
Beste ønsker!
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.
Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.
I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.
Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.
Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.
I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.
I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.
I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.
I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.