Kapslade uttryck: Power Query-miljöer

I den här självstudien lär du dig om kapslade uttryck, objekt och miljöer i . Kapslade uttryck och variabler kommer att användas för att diskutera hur miljöer fungerar och hjälpa till att generera data. Du kommer också att lära dig att hantera vanliga scenarier när du transformerar kapslade objekt.

Innehållsförteckning

Skapa kapslade uttryck

Uttryck definieras som en formel som används för att konstruera värde.

Kapslade uttryck: Power Query-miljöer

Uttrycket i formelfältet är byggt från underuttryck. Literalerna 1 och 2 är underuttryck av det överordnade uttrycket.

Variabler definieras som namngivna värden. Detta är en provpost.

Kapslade uttryck: Power Query-miljöer

Om du öppnar fönstret Advanced Editor kan du se de variabler som används i frågan.

Kapslade uttryck: Power Query-miljöer

Variablerna a , b och c representerar var och en ett värde som är resultatet av ett uttryck som du ofta hittar efter ett likhetstecken. Alla variabler inom det överordnade uttrycket, som är själva posten, utgör miljön för den posten. Inom den miljön måste varje variabel vara unik.

Så om du lägger till en annan variabel som heter c , kommer du att se ett felmeddelande under Advanced Editor-fönstret.

Kapslade uttryck: Power Query-miljöer

Kapslade uttryck: Power Query-miljöer

Posten kan komma åt alla sina underuttryck med hjälp av identifierare eller variabelnamn. Men för kapslade uttryck i posten är varje miljö olika eftersom de kan komma åt alla andra variabler i posten förutom sig själva.

I det här exemplet kan du se att variabel c refererar till sig själv.

Kapslade uttryck: Power Query-miljöer

Om du trycker på klar får du ett felmeddelande.

Kapslade uttryck: Power Query-miljöer

Om du extraherar värdet på c genom att lägga till objektåtkomstoperatorn får du ett resultat. Du kan också få samma resultat med uttrycket let eftersom samma regler tillämpas på det.

Kapslade uttryck: Power Query-miljöer

Förstå kapslade uttryck i en miljö

Detta är ytterligare ett exempel på ett rekordvärde.

Kapslade uttryck: Power Query-miljöer

Om du öppnar fönstret Advanced Editor kan du se att variablerna a och b delar samma miljö som är den yttersta miljön. Du kommer också att se att variablerna x , y och z , är underuttryck av det överordnade uttrycket a .

Kapslade uttryck: Power Query-miljöer

Varje variabel kan komma åt alla andra variabler i den kapslade posten utom dem själva. Du kan anropa en variabel som finns i en annan miljö. I det här exemplet kan du se att z refererar till b som är i den yttre miljön.

Kapslade uttryck: Power Query-miljöer

Variablerna x , y och z kan komma åt b eftersom b är en del av deras överordnade uttrycksmiljö. Du kan också ha samma variabel men i olika miljöer.

I detta andra exempel kan du se att den inre och yttre posten har en variabel x .

Kapslade uttryck: Power Query-miljöer

Variabler måste vara unika i sin egen miljö. Det närmaste x som är tilldelat en variabel kommer att användas. I den här exempelfrågan används det inre x-et eftersom det ligger närmare från perspektivet för post a .

Kapslade uttryck: Power Query-miljöer

I denna andra fråga används det närmaste x som är nära variabel b i uttrycket.

Kapslade uttryck: Power Query-miljöer

Den yttre variabeln b kan referera till variabeln x inuti post a med hjälp av objektåtkomstoperatorn. Du måste referera till variabeln a och sedan komma åt x med en uppsättning hakparenteser. På samma sätt kan post a referera till variabeln x inuti variabel b .

Kapslade uttryck: Power Query-miljöer

När miljön för den kapslade posten a slås samman med variabler från det överordnade uttrycket, leder det till en konflikt eftersom x finns två gånger och alla variabler måste vara unika i sin miljö. Eftersom en variabel inte kan referera till sig själv, löses konflikten genom att referera till det yttre x.

Kapslade uttryck: Power Query-miljöer

Att lösa vanliga scenarier

Ett vanligt scenario är att transformera kapslade objekt. För att demonstrera kommer denna tabell att användas.

Kapslade uttryck: Power Query-miljöer

Om du vill hämta ett värde från den yttre tabellen och placera det i den kapslade tabellen, finns det två sätt att uppnå det. Den första metoden är att använda alternativet Lägg till anpassad kolumn .

Klicka på tabellikonen i det övre vänstra hörnet av förhandsgranskningsfönstret och välj Lägg till anpassad kolumn.

Kapslade uttryck: Power Query-miljöer

Ange Temp som kolumnnamn och ange en platshållare i den anpassade. När du är klar trycker du på OK.

Kapslade uttryck: Power Query-miljöer

Inuti formelfältet ersätter du varje uttryck med en anpassad funktion genom att lägga till en kolumn i din kapslade tabell. Starta logiken för en anpassad funktion och kalla den OT för yttre tabell. Lägg sedan till gå-till-skylten.

Använd sedan funktionen Table.AddColumn för att lägga till en kolumn. Se tabellen i den yttre tabellen som finns i kolumnen Namn. Och ange sedan ett nytt kolumnnamn.

I det här exemplet är kolumnnamnet Intäkt . Ange varje funktion för att få värdena för varje rad i kolumnen Hämta intäkter.

Kapslade uttryck: Power Query-miljöer

Om du klickar på utrymmet inuti cellen i en rad i kolumnen Temp, får du en förhandsvisning av den kapslade tabellen under förhandsgranskningsfönstret. Du kommer att se att varje rad har värdet av den yttre tabellen.

Kapslade uttryck: Power Query-miljöer

Använda variabler för att lagra värden

Den andra metoden för att transformera kapslade objekt är att använda variabler för att lagra värden. Lägg först till en anpassad kolumn och skriv in Temp2 som kolumnnamn. För formeln använder du uttrycket let för att lagra värden i variabler.

Mata in let och skriv sedan ett variabelnamn. I det här exemplet är variabelnamnet myR . Jämställ sedan variabeln med kolumnen Få intäkter. Därefter anger du in -satsen och använder funktionen Table.AddColumn för att lägga till en kolumn i den kapslade tabellen.

För den första parametern i funktionen anger du kolumnen Namn som innehåller de kapslade tabellerna. Namnge sedan den nya kolumnen Intäkter. Använd var och en för att anropa variablerna för varje rad.

Kapslade uttryck: Power Query-miljöer

Om du klickar på utrymmet inuti cellen i en rad i Temp2-kolumnen ser du att den hämtade värdena från den yttre tabellen.

Kapslade uttryck: Power Query-miljöer

Ett annat vanligt scenario är en uppslagning där det inte finns någon delad nyckel. För detta scenario kommer två exempeltabeller att användas: en kategoritabell och en produkttabell .

Kapslade uttryck: Power Query-miljöer

Kapslade uttryck: Power Query-miljöer

Använd kategoritabellen som en iscensättningsfråga för att komplettera produktdimensionstabellens attribut. Eftersom det inte finns någon delad nyckel kan en sammanslagning inte utföras. Det första du ska göra är att kapsla in hela kategoritabellen i produkttabellfrågan med hjälp av Lägg till anpassad kolumn.

Lägg till en anpassad kolumn och skriv Kategori som kolumnnamn. Ring sedan kategorifrågan i den anpassade formeln.

Kapslade uttryck: Power Query-miljöer

Efter det har du nu kapslat hela kategoritabellen i varje rad i produkttabellen.

Kapslade uttryck: Power Query-miljöer

När du klickar på utrymmet inuti cellen i en rad i kolumnen Kategori kan du se hela kategoritabellen i varje rad.

Kapslade uttryck: Power Query-miljöer

Hämta ett enda värde

Om du bara vill hämta ett enstaka värde behöver du filtrera ned kategoritabellen till en enda rad där en del av strängen från produkten har en matchning till produktgruppen i kategoritabellen.

Öppna dialogrutan Anpassad kolumn genom att trycka på kugghjulsknappen bredvid Added Custom i rutan Tillämpade steg.

Kapslade uttryck: Power Query-miljöer

Lägg till funktionen Table.SelectRows i formeln . För den första parametern används kategoritabellen. Den andra parametern använde funktionen Text.Contains som ett villkor. För den inre tabellen kontrollerar denna funktion om en text innehåller en del från produktsträngen i den yttre tabellen.

Kapslade uttryck: Power Query-miljöer

När du kommer åt det yttre bordet kommer du att märka detlägger till varje nyckelord i formelfältet. Det är en unär funktion som tar understrecket ( _ ) som en namnlös variabel. Men eftersom du bara kommer åt en kolumn kan den utelämnas.

Kapslade uttryck: Power Query-miljöer

Om du klickar på utrymmet inuti cellen i en rad i kolumnen Kategori, kommer du nu att se en enda rad i var och en av de kapslade tabellerna.

Kapslade uttryck: Power Query-miljöer

Därifrån kan du extrahera ett värde för kategorin med kombinationen av rad- och fältåtkomstoperatorerna.

Gå tillbaka till dialogrutan Anpassad kolumn och lägg till operatorerna i formeln. För att få den första raden i tabellen, skriv in 0 inom en uppsättning parenteser. Lista sedan fältnamnet Kategori inom en uppsättning hakparenteser.

Kapslade uttryck: Power Query-miljöer

För att framtidssäkra lösningen kan du lägga till ett frågetecken ( ? ) i slutet för att ändra beteendet som inte hittades från att returnera ett fel till en noll.



Slutsats

Miljöer och kapslade uttryck hjälper din fråga att få fram vissa värden från dina koder för att ge önskvärda resultat. Att vara medveten om dem är viktigt när du skriver för när du förstår dem kommer du att kunna lösa mer avancerade och komplexa scenarier.

Melissa


Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.