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.
I denne bloggen vil vi diskutere noen vanlige tabelluttrykk, også kjent som CTE-er . Hvis du støter på komplekse problemer, kan bruk av disse hjelpe deg.
Med CTE kan du dele opp enhver oppgave i små og håndterbare spørsmål for å løse kompliserte problemer.
La oss nå utforske hvordan CTE kan gjøre arbeidet ditt mer effektivt i feilsøkingskoder.
Innholdsfortegnelse
Syntaks for å lage vanlige SQL-tabelluttrykk
Først må du skrive " WITH " etterfulgt av navnet på CTE Expression , etterfulgt av " AS ".
Etter det kan du stille inn eventuelle spørsmål mellom parentesene. Dette vil bli lagret i det angitte uttrykksnavnet som vil fungere som en virtuell tabell.
Legg deretter til enved å bruke den virtuelle tabellen du har opprettet via uttrykksnavnet du har angitt.
For vårt eksempel bruker vi " USACusts " for uttrykksnavnet .
Og for spørringen bruker vi denne koden.
Denne spørringen vil opprette en virtuell tabell. Den viser et totalt eller aggregert beløp som er gruppert etter kunde-ID der landet de tilhører er « USA ». Dataene vil bli hentet fra Sales.Customers -tabellen.
To kolonner vil være synlige, som er custid og Agg_Amount . Vær oppmerksom på at USACusts- tabellen ikke er et fysisk bord, men bare et virtuelt bord. Det betyr at den ikke vil være synlig i databasen vår.
Etter spørringen kan vi legge til en
Denne setningen vil velge alle Agg_Amount som er større enn 1000 fra USACusts- tabellen.
Flere vanlige SQL-tabelluttrykk
Flere CTE-er kan hjelpe deg med å løse komplekse feil i koden din ved å dele dem opp i mindre biter. I tillegg kan du definere så mange CTEer du vil. Nedenfor er et eksempel på flere CTE-er .
For dette eksemplet har vi den første CTE som er C1 . Derfra valgte vi YEAR(orderdate) og opprettet 2 kolonner som er ordreår og custid fra Sales.Orders-tabellen .
For den andre CTE kalt C2 valgte vi ordreår og samlet inn antall custid ved å bruke COUNT- kommandoen. Så kalte vi den som numcusts fra C1 . En WHERE- betingelse ble også lagt til i C2 for å velge bare ordreåret som er større enn 2015 . Så grupperte vi dem etter bestillingsår .
Etter det valgte vi ordreår og numcusts fra C2 . Deretter la vi til en WHERE- betingelse for å velge bare antallet kunder som er større enn 500 .
For å oppsummere brukes denne koden til å velge kunder der ordreåret er større enn 2015 og velge kun antall kunder som er mer enn 500 basert på ordreårets tilstand.
Bruke flere CTE-er for å løse komplekse koder
Deretter vil jeg vise flere eksempler for ytterligere å understreke bruken av CTE- er ved feilsøking av et stort sett med data. Her er et annet eksempel på flere CTE-er .
Vær oppmerksom på at du kan navngi CTE-er slik du vil, men for denne bloggen bruker vi C1 , C2 , C3 og så videre for enkelt å identifisere og forstå hvordan vi bruker dem i eksemplene våre.
For å gå tilbake til eksemplet, opprettet vi C1 for å velge bare salg der bestillingsmengden er større enn 5 fra Sales.SalesOrderDetails -tabellen.
Så i C2 brukte vi dataene vi lagret i C1 for å slå sammen produktet basert på Product.ID og grupperte dem etter produktnavn (p.Name) og produktfarge (p.Color) .
Siden vi erklærte en betingelse i C1 , vil vi bare gruppere produktnavnet og produktfargen i C2 for bestillinger der bestillingsmengden (OrdreAntall) er større enn 5 .
Etter det bruker vi en kommando for å velge alle data fra C2 med et bestillingsantall som er større enn 1000 .
For feilsøkingsformål kan du ganske enkelt velge hver av CTE- ene du har opprettet for å sjekke om den viser de riktige dataene. Se eksemplene nedenfor.
For C1 viser den alle dataene fra Sales.SalesOrderDetail -tabellen med et bestillingsantall som er større enn 5 .
Deretter viser C2 en utgang av bestillingsmengden som er gruppert etter produktnavn og farge fra C1 . I C2 kan vi se ordremengde- kolonnen, men vi har det faktisk ikke i C2 fordi det bare er en beregnet kolonne som vi genererte fra C1 . Herfra kan vi begynne å bruke en hvilken som helst betingelse i ordremengde- kolonnen og utføre feilsøking.
Så nå kan du se hvordan flere CTE-er kan hjelpe oss med å løse feil i komplekse koder ved å lagre dem i CTE-er og starte feilsøking uten å skade den faktiske koden.
Bruke CTE-er med saksuttalelse
La oss ha et annet eksempel med samme kontekst for å vise hvordan vi kan bruke flere CTE- er i feilsøking av komplekse koder.
I dette tilfellet skal vi bruke en CASE -setning som vil opprette en produktkategorikolonne med resultater som er basert på den aggregerte mengden ordremengde fra C2 .
Som nevnt tidligere hadde vi ikke ordremengde i den første CTE så vel som i produktkategorien , men vi brukte mellomtabeller for å beregne og utføre forskjellige beregninger.
I det neste eksemplet lager vi et samlet beløp basert på det vi har opprettet i det forrige eksemplet. Men for å gjøre dette, legger vi CASE- setningen for produktkategorien i den tredje CTE som er C3 .
Før vi fortsetter, la oss sjekke utdataene til C3 ved å legge til " SELECT * FROM C3 " under C3 .
I C3 kan vi se kolonnene Produktnavn , Farge , ordreantall og Produktkategori . Herfra kan vi begynne å aggregere basert på produktkategorien . La oss gjøre dette ved å bruke følgende kommando under C3 .
Eksemplet nedenfor er resultatet etter å ha opprettet et samlet beløp ved å bruke kommandoen ovenfor.
I utgangspunktet hadde vi ikke kolonnene Produktkategori og ordreantall , men vi kan generere prøveutdata basert på disse kolonnene ved å bruke flere CTE-er .
På dette tidspunktet kan du se at vi kan gjøre hva som helst ved hjelp av CTE- er for å jobbe mer effektivt med kodene våre.
Konklusjon
I denne opplæringen har du lært den riktige syntaksen for å lage vanlige SQL-tabelluttrykk og hvordan du bruker flere CTE- er i feilsøking av komplekse koder ved å isolere små deler av data og lagre dem i en gitt CTE .
Ved å lære dette har du nå muligheten til å feilsøke kodene dine mer effektivt. Husk at du kan bruke hvilket som helst navn for CTE , og du kan ikke bruke eller kalle noen CTE med mindre det er opprettet. Når du først har blitt kjent med CTE , kan du betrakte deg selv som en middels bruker av.
Hvis du vil vite mer om dette emnet og annet relatert innhold, kan du absolutt sjekke listen over relevante lenker nedenfor.
Beste ønsker,
Hafiz
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.