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.
Denne opplæringen vil diskutere kontekstovergang og nestede iteratorer. Du vil lære viktigheten av disse enhetene og hvordan de kan være en god kilde for optimalisering.
Hvis du husker det, skjer kontekstovergang når en radkontekst endres til en ekvivalent filterkontekst. Du må være klar over hva som skjer når en kontekstovergang skjer i iteratorene dine, fordi det ofte kan generere langsomme resultater.
Innholdsfortegnelse
Nestede iteratorer versus BEREGN
Hvis en kontekstovergang påkalles under en iterasjon, opprettes en materialiseringstabell. Dette betyr at kontekstovergang påkalles via formlene i din DAX. Tabellen er ukomprimerte data som sendes til formelmotoren.
For å demonstrere er det første målet for store salg som får gjeldende pris hvis den er større enn eller lik 500.
Det neste målet er gjennomsnittet av de store salgene med nestede iteratorer.
Det siste målet får gjennomsnittet av store salg uten en nestet iterator og en CallBackDataID.
Kjør målingen med den nestede iteratoren. Sørg for å tømme hurtigbufferen før du kjører, og slå deretter på Server Timings and Query Plan.
Du kan se at den genererte 3 skanninger, 2 CallBackDataID-er og 15 003 rader. Dette er en grunn til bekymring fordi det bare er 101 rader for utgangen. Dette skjedde fordi målet har to iteratorer eller X-funksjoner.
Dette er den fullstendig utvidede formen for tiltaket som ble kjørt:
Det itererer faktasalgstabellen med. Det gjentar seg deretter igjen med CallBackDataID ved hjelp av. Det forkortede formatet til dette tiltaket har en underforståttfunksjon som påkaller kontekstovergang og materialiserer tabellen. Det er derfor den trakk 15 003 rader, selv om det bare er 101 rader for utgang.
Kjør det andre målet som ikke har nestede iteratorer. Det gjentas fortsatt faktasalgstabellen ved å bruke AVERAGEX , men gjeldende pris er utenfor funksjonen. Den filtrerer ut produktene der gjeldende pris er større enn eller lik 500 og beregner deretter gjennomsnittet.
Du kan se at den bare har 2 skanninger, 104 rader og ikke har CallBackDataID. Så hvis du bruker CALCULATE , kan du bli kvitt de nestede iteratorene og CallBackDataIDene .
Konklusjon
Det er mange årsaker til en saktegående DAX. En av dem skyldes nestede iteratorer som forårsaker unødvendige kontekstoverganger. Disse iteratorene materialiserer flere rader enn nødvendig, noe som fører til at søkene dine går langsommere.
Den beste løsningen for dette er å plassere den inne i CALCULATE . Dette skaper mindre arbeid for formelmotoren og maksimerer egenskapene til lagringsmotoren.
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