Variabler och uttryck i Power Query Editor
Denna handledning kommer att diskutera om variabler och uttryck i Power Query Editor. Du lär dig hur du skriver och bygger dem på rätt sätt.
I den här bloggen kommer vi att diskutera några vanliga tabelluttryck, även kända som CTE . Om du stöter på komplexa problem kan användningen av dessa hjälpa dig.
Med CTE kan du dela upp alla uppgifter i små och hanterbara frågor för att lösa komplicerade problem.
Låt oss nu utforska hur CTE kan göra ditt arbete mer effektivt i felsökningskoder.
Innehållsförteckning
Syntax för att skapa vanliga SQL-tabelluttryck
Först måste du skriva " WITH " följt av ditt CTE-uttrycksnamn , följt av " AS ".
Efter det kan du ange alla frågor mellan parenteserna. Detta kommer att lagras i det angivna uttrycksnamnet som kommer att fungera som en virtuell tabell.
Lägg sedan till amed hjälp av den virtuella tabellen du har skapat via det uttrycksnamn du har angett.
För vårt exempel kommer vi att använda " USACusts " för uttryckets namn .
Och för frågan kommer vi att använda den här koden.
Denna fråga kommer att skapa en virtuell tabell. Den visar ett totalt eller aggregerat belopp som är grupperat efter kund-ID där landet de tillhör är " USA ". Uppgifterna kommer att extraheras från tabellen Sales.Customers .
Två kolumner kommer att vara synliga, som är custid och Agg_Amount . Notera att USACusts- tabellen inte är en fysisk tabell utan bara en virtuell tabell. Det betyder att det inte kommer att synas i vår databas.
Efter frågan kan vi sedan lägga till en
Detta uttalande kommer att välja alla Agg_Amount som är större än 1000 från USACusts- tabellen.
Flera vanliga SQL-tabelluttryck
Flera CTE: er kan hjälpa dig att lösa komplexa fel i din kod genom att dela upp dem i mindre bitar. Dessutom kan du definiera hur många CTE du vill. Nedan är ett exempel på flera CTE:er .
För det här exemplet har vi den första CTE som är C1 . Därifrån valde vi YEAR(orderdatum) och skapade 2 kolumner som är orderår och kund från tabellen Sales.Orders .
För den andra CTE som heter C2 valde vi orderår och samlade in antalet custid med hjälp av kommandot COUNT . Sedan namngav vi det som numcusts från C1 . Ett WHERE -villkor lades också till i C2 för att endast välja det beställningsår som är större än 2015 . Sedan grupperade vi dem efter beställningsår .
Efter det valde vi beställningsår och numcust från C2 . Sedan lade vi till ett WHERE- villkor för att bara välja antalet kunder som är fler än 500 .
Sammanfattningsvis används denna kod för att välja kunder där beställningsåret är större än 2015 och välja endast antalet kunder som är fler än 500 baserat på beställningsårets skick.
Använda flera CTE:er för att lösa komplexa koder
Därefter kommer jag att visa fler exempel för att ytterligare betona användningen av CTE:er vid felsökning av en stor uppsättning data. Här är ett annat exempel på flera CTE:er .
Observera att du kan namnge CTE som du vill men för den här bloggen använder vi C1 , C2 , C3 och så vidare för att enkelt identifiera och förstå hur vi använder dem i våra exempel.
Om vi går tillbaka till exemplet skapade vi C1 för att endast välja försäljning där orderkvantiteten är större än 5 från tabellen Sales.SalesOrderDetails .
Sedan i C2 använde vi data som vi lagrade i C1 för att ansluta produkten baserat på Product.ID och grupperade dem efter produktnamn (p.Name) och produktfärg (p.Color) .
Eftersom vi deklarerade ett villkor i C1 kommer vi bara att gruppera produktnamnet och produktfärgen i C2 för beställningar där beställningskvantiteten (OrderQty) är större än 5 .
Efter det använder vi ett kommando för att välja all data från C2 med en orderkvantitet som är större än 1000 .
För felsökningsändamål kan du helt enkelt välja var och en av de CTE som du har skapat för att kontrollera om den visar rätt data. Se exemplen nedan.
För C1 visar den all data från tabellen Sales.SalesOrderDetail med en orderkvantitet som är större än 5 .
Sedan visar C2 en utmatning av beställningskvantiteten som är grupperad efter produktnamn och färg från C1 . I C2 kan vi se orderqty- kolumnen men det har vi faktiskt inte i C2 eftersom det bara är en beräknad kolumn som vi genererade från C1 . Härifrån kan vi sedan börja använda vilket villkor som helst i kolumnen orderqty och utföra felsökning.
Så nu kan du se hur flera CTE:er kan hjälpa oss att lösa fel i komplexa koder genom att lagra dem i CTE:er och börja felsöka utan att skada den faktiska koden.
Använda CTE:er med fallbeskrivning
Låt oss ta ett annat exempel med samma sammanhang för att visa hur vi kan använda flera CTE:er vid felsökning av komplexa koder.
I det här fallet kommer vi att använda en CASE- sats som skapar en produktkategorikolumn med resultat som är baserade på den aggregerade mängden orderkvantitet från C2 .
Som tidigare nämnts hade vi inte orderantal i den första CTE samt produktkategorin men vi använde mellanliggande tabeller för att beräkna och utföra olika beräkningar.
I nästa exempel skapar vi ett aggregerat belopp baserat på det vi skapade i föregående exempel. Men för att göra detta lägger vi CASE- satsen för produktkategorin i den tredje CTE som är C3 .
Innan vi fortsätter, låt oss kontrollera utsignalen från C3 genom att lägga till " SELECT * FROM C3 " under C3 .
I C3 kan vi se kolumnerna Produktnamn , Färg , orderantal och Produktkategori . Härifrån kan vi börja aggregera baserat på produktkategorin . Låt oss göra detta genom att använda följande kommando under C3 .
Exemplet nedan är resultatet efter att ha skapat ett aggregerat belopp genom att använda kommandot ovan.
Från början hade vi inte kolumnerna Produktkategori och orderantal , men vi kan generera exempelutdata baserat på dessa kolumner genom att använda flera CTE:er .
Vid det här laget kan du se att vi kan göra vad som helst med hjälp av CTE:er för att arbeta med våra koder mer effektivt.
Slutsats
I den här handledningen har du lärt dig rätt syntax för att skapa vanliga SQL-tabelluttryck och hur du använder flera CTE:er vid felsökning av komplexa koder genom att isolera små delar av data och lagra dem i en given CTE .
Genom att lära dig detta har du nu möjlighet att felsöka dina koder mer effektivt. Kom ihåg att du kan använda vilket namn som helst för CTE och du kan inte använda eller ringa någon CTE om den inte skapas. När du väl har bekantat dig med CTE kan du betrakta dig själv som en mellananvändare av.
Om du vill veta mer om det här ämnet och annat relaterat innehåll kan du absolut kolla in listan med relevanta länkar nedan.
Med vänliga hälsningar,
Hafiz
Denna handledning kommer att diskutera om variabler och uttryck i Power Query Editor. Du lär dig hur du skriver och bygger dem på rätt sätt.
En LuckyTemplates värmekarta är en typ av visualisering som används för att visa datatäthet på en karta. I den här handledningen kommer jag att diskutera hur vi kan skapa en - missa inte!
Jag ska lära dig ett riktigt intressant exempel kring Pareto-principen och hur man skapar ett Pareto-diagram med hjälp av viktiga DAX-formler.
Lär dig hur ett anpassat stapeldiagram på marknadsplatsen kan användas för datajämförelse och hur du kan skapa dem med hjälp av exempel i LuckyTemplates.
Lär dig hur funktionen Power Automate Static Results fungerar och varför det är bra att läggas till de bästa metoderna när du skapar flödesdiagram.
eDNA visar hur man utför språk- eller textöversättning med Python och överför det till LuckyTemplates. LuckyTemplates Python Tutorial.
I den här handledningen kommer du att lära dig hur du använder Gauge Bullet Graph för att skapa ett Gantt-diagram i LuckyTemplates Report Builder.
I den här handledningen kommer du att lära dig hur du skapar en tredimensionell (3D) spridningsplot med Python i LuckyTemplates.
Effektiv LuckyTemplates-rapportering – sessionsgranskning och resursnedladdning
Ny kundanalys med LuckyTemplates – Evenemang endast för nästa medlem