Nestede uttrykk: Power Query-miljøer

I denne opplæringen lærer du om nestede uttrykk, objekter og miljøer i . Nestede uttrykk og variabler vil bli brukt til å diskutere hvordan miljøer fungerer og bidra til å generere data. Du vil også lære å håndtere vanlige scenarier når du transformerer nestede objekter.

Innholdsfortegnelse

Opprette nestede uttrykk

Uttrykk er definert som en formel som brukes til å konstruere verdi.

Nestede uttrykk: Power Query-miljøer

Uttrykket i formellinjen er bygget opp fra underuttrykk. Bokstavene 1 og 2 er underuttrykk av det overordnede uttrykket.

Variabler er definert som navngitte verdier. Dette er en prøvepost.

Nestede uttrykk: Power Query-miljøer

Hvis du åpner Advanced Editor-vinduet, kan du se variablene som brukes i spørringen.

Nestede uttrykk: Power Query-miljøer

Variablene a , b og c representerer hver en verdi som er resultatet av et uttrykk du ofte finner etter et likhetstegn. Alle variabler i det overordnede uttrykket, som er selve posten, danner miljøet for den posten. Innenfor dette miljøet må hver variabel være unik.

Så hvis du legger til en annen variabel kalt c , vil du se en feilmelding under Advanced Editor-vinduet.

Nestede uttrykk: Power Query-miljøer

Nestede uttrykk: Power Query-miljøer

Posten kan få tilgang til alle underuttrykkene ved hjelp av identifikatorer eller variabelnavn. For nestede uttrykk i posten er imidlertid hvert miljø forskjellig fordi de har tilgang til alle andre variabler i posten bortsett fra seg selv.

I dette eksemplet kan du se at variabel c refererer til seg selv.

Nestede uttrykk: Power Query-miljøer

Hvis du trykker ferdig, får du en feilmelding.

Nestede uttrykk: Power Query-miljøer

Hvis du trekker ut verdien av c ved å legge til elementtilgangsoperatøren, får du et resultat. Du kan også oppnå det samme resultatet med let- uttrykket fordi de samme reglene brukes på det.

Nestede uttrykk: Power Query-miljøer

Forstå nestede uttrykk i et miljø

Dette er nok et eksempel på en rekordverdi.

Nestede uttrykk: Power Query-miljøer

Hvis du åpner Advanced Editor-vinduet, kan du se at variablene a og b deler det samme miljøet som er det ytterste miljøet. Du vil også se at variablene x , y og z , er underuttrykk av det overordnede uttrykket a .

Nestede uttrykk: Power Query-miljøer

Hver variabel har tilgang til alle de andre variablene i den nestede posten bortsett fra seg selv. Du kan kalle en variabel som eksisterer i et annet miljø. I dette eksemplet kan du se at z refererer til b som er i det ytre miljøet.

Nestede uttrykk: Power Query-miljøer

Variablene x , y og z kan få tilgang til b fordi b er en del av deres overordnede uttrykksmiljø. Du kan også ha samme variabel, men i forskjellige miljøer.

I dette andre eksemplet kan du se at den indre og ytre posten har en variabel x .

Nestede uttrykk: Power Query-miljøer

Variabler må være unike i sitt eget miljø. Den nærmeste x tilordnet en variabel vil bli brukt. I denne eksempelspørringen brukes den indre x-en siden den er nærmere fra perspektivet til post a .

Nestede uttrykk: Power Query-miljøer

I denne andre spørringen brukes den nærmeste x som er nær variabel b i uttrykket.

Nestede uttrykk: Power Query-miljøer

Den ytre variabelen b kan referere til variabelen x inne i post a ved å bruke elementtilgangsoperatøren. Du må referere til variabelen a og deretter få tilgang til x ved å bruke et sett med firkantede parenteser. På samme måte kan post a referere til variabelen x inne i variabel b .

Nestede uttrykk: Power Query-miljøer

Når miljøet til den nestede posten a slås sammen med variabler fra det overordnede uttrykket, fører det til en konflikt fordi x eksisterer to ganger og alle variabler må være unike i miljøet. Siden en variabel ikke kan referere til seg selv, løses konflikten ved å referere til den ytre x.

Nestede uttrykk: Power Query-miljøer

Løse vanlige scenarier

Et vanlig scenario er transformering av nestede objekter. For å demonstrere vil denne tabellen bli brukt.

Nestede uttrykk: Power Query-miljøer

Hvis du ønsker å hente en verdi fra den ytre tabellen og plassere den i den nestede tabellen, er det to måter å oppnå det på. Den første metoden er å bruke alternativet Legg til egendefinert kolonne .

Klikk på tabellikonet øverst til venstre i forhåndsvisningsruten og velg Legg til egendefinert kolonne.

Nestede uttrykk: Power Query-miljøer

Skriv inn Temp som kolonnenavn og skriv inn en plassholder i egendefinert. Når du er ferdig, trykk OK.

Nestede uttrykk: Power Query-miljøer

Inne i formellinjen erstatter du hvert uttrykk med en egendefinert funksjon ved å legge til en kolonne i den nestede tabellen. Start logikken for en tilpasset funksjon og kall den OT for ytre tabell. Deretter legger du til gå-til-skiltet.

Deretter bruker du Table.AddColumn -funksjonen for å legge til en kolonne. Se tabellen i den ytre tabellen i Navn-kolonnen. Og skriv deretter inn et nytt kolonnenavn.

For dette eksemplet er kolonnenavnet som er brukt Inntekt . Skriv inn hver funksjon for å få verdiene for hver rad i Hent inntekt-kolonnen.

Nestede uttrykk: Power Query-miljøer

Hvis du klikker på plassen inne i cellen i en rad i Temp-kolonnen, får du en forhåndsvisning av den nestede tabellen under forhåndsvisningsruten. Du vil se at hver rad har verdien av den ytre tabellen.

Nestede uttrykk: Power Query-miljøer

Bruke variabler for å lagre verdier

Den andre metoden for å transformere nestede objekter er ved å bruke variabler til å lagre verdier. Først legger du til en egendefinert kolonne og skriv inn Temp2 som kolonnenavn. For formelen bruker du let- uttrykket for å lagre verdier i variabler.

Skriv inn let og skriv deretter et variabelnavn. For dette eksemplet er variabelnavnet myR . Deretter sidestiller du variabelen med Hent inntekt-kolonnen. Etter det, skriv inn i -leddet og bruk Table.AddColumn -funksjonen for å legge til en kolonne i den nestede tabellen.

For den første parameteren til funksjonen, skriv inn Navn-kolonnen som inneholder de nestede tabellene. Deretter navngir du den nye kolonnen Inntekter. Bruk hver for å kalle variablene for hver rad.

Nestede uttrykk: Power Query-miljøer

Hvis du klikker på plassen inne i cellen i en rad i Temp2-kolonnen, vil du se at den hentet verdiene fra den ytre tabellen.

Nestede uttrykk: Power Query-miljøer

Et annet vanlig scenario er et oppslag der det ikke er noen delt nøkkel. For dette scenariet vil 2 eksempeltabeller bli brukt: en kategoritabell og en produkttabell .

Nestede uttrykk: Power Query-miljøer

Nestede uttrykk: Power Query-miljøer

Bruk kategoritabellen som en iscenesettelsesspørring for å komplimentere attributtene til produktdimensjonstabellen. Siden det ikke er noen delt nøkkel, kan en sammenslåing ikke utføres. Det første du må gjøre er å legge inn hele kategoritabellen i produkttabellspørringen ved å bruke Add Custom Column.

Legg til en egendefinert kolonne og skriv Kategori som kolonnenavn. Deretter kaller du kategorispørringen i den egendefinerte formelen.

Nestede uttrykk: Power Query-miljøer

Etter det har du nå nestet hele kategoritabellen i hver rad i produkttabellen.

Nestede uttrykk: Power Query-miljøer

Når du klikker på plassen inne i cellen i en rad i Kategori-kolonnen, kan du se hele kategoritabellen i hver rad.

Nestede uttrykk: Power Query-miljøer

Henter en enkelt verdi

Hvis du kun ønsker å hente en enkelt verdi, må du filtrere kategoritabellen ned til en enkelt rad hvor en del av strengen fra produktet har samsvar med produktgruppen i kategoritabellen.

Åpne dialogboksen Egendefinert kolonne ved å trykke på tannhjulknappen ved siden av Lagt egendefinert i ruten Applied Steps.

Nestede uttrykk: Power Query-miljøer

I formelen legger du til Table.SelectRows -funksjonen. For den første parameteren brukes Kategoritabellen. Den andre parameteren brukte Text.Contains -funksjonen som en betingelse. For den indre tabellen sjekker denne funksjonen om en tekst inneholder en del fra produktstrengen i den ytre tabellen.

Nestede uttrykk: Power Query-miljøer

Når du får tilgang til det ytre bordet, vil du legge merke til detlegger til hvert nøkkelord i formellinjen. Det er en unær funksjon som tar understreken ( _ ) som en navnløs variabel. Men siden du bare har tilgang til en kolonne, kan den utelates.

Nestede uttrykk: Power Query-miljøer

Hvis du klikker på plassen inne i cellen i en rad i Kategori-kolonnen, vil du nå se en enkelt rad i hver av de nestede tabellene.

Nestede uttrykk: Power Query-miljøer

Derfra kan du trekke ut en verdi for kategorien med kombinasjonen av rad- og felttilgangsoperatørene.

Gå tilbake til dialogboksen Egendefinert kolonne og legg til operatorene i formelen. For å få den første raden i tabellen, skriv inn 0 i et sett med krøllede parenteser. List deretter feltnavnet Kategori innenfor et sett med firkantede parenteser.

Nestede uttrykk: Power Query-miljøer

For å fremtidssikre løsningen kan du legge til et spørsmålstegn ( ? ) til slutt for å endre atferden som ikke ble funnet fra å returnere en feil til en null.



Konklusjon

Miljøer og nestede uttrykk hjelper spørringen å få frem visse verdier fra kodene dine for å gi ønskelige resultater. Å være klar over dem er viktig når du skriver, fordi når du forstår dem, vil du kunne løse mer avanserte og komplekse scenarier.

Melissa


DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

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.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

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å.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

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.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

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.