Variabler og uttrykk i Power Query Editor
Denne opplæringen vil diskutere om variabler og uttrykk i Power Query Editor. Du lærer hvordan du skriver og bygger dem riktig.
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
Denne opplæringen vil diskutere om variabler og uttrykk i Power Query Editor. Du lærer hvordan du skriver og bygger dem riktig.
Et LuckyTemplates-varmekart er en type visualisering som brukes til å vise datatetthet på et kart. I denne opplæringen vil jeg diskutere hvordan vi kan lage en – ikke gå glipp av noe!
Jeg skal lære deg et veldig interessant eksempel rundt Pareto-prinsippet og hvordan du lager et Pareto-diagram ved hjelp av viktige DAX-formler.
Lær hvordan et tilpasset stolpediagram på markedsplassen kan brukes til datasammenligning og hvordan du kan lage dem ved å bruke eksempler i LuckyTemplates.
Lær hvordan Power Automate Static Results-funksjonen fungerer og hvorfor det er bra å bli lagt til de beste praksisene når du lager flytdiagrammer.
eDNA demonstrerer hvordan du utfører språk- eller tekstoversettelse ved hjelp av Python og overfører det til LuckyTemplates. LuckyTemplates Python-opplæring.
I denne opplæringen lærer du hvordan du bruker Gauge Bullet Graph til å lage et Gantt-diagram i LuckyTemplates Report Builder.
I denne opplæringen lærer du hvordan du lager et tredimensjonalt (3D) spredningsplott ved å bruke Python i LuckyTemplates.
Effektiv LuckyTemplates-rapportering – øktgjennomgang og ressursnedlasting
Ny kundeanalyse med LuckyTemplates – Neste medlemsbegivenhet