Denne tutorial vil diskutere lagringsmotoren og underforstået GroupBy i LuckyTemplates. Du vil lære, hvad der sker bag forestillingen, og se potentielle flaskehalse. Dette giver dig mulighed for at skabe ideer og strategier til at afbøde disse problemer for hurtigere DAX-ydelse.
Storagemotorforespørgslerne er udtrykt i et sprog kaldet xmSQL. Det er ikke et rigtigt programmeringssprog, men en visuel repræsentation af, hvad storage-motoren laver. Det giver brugerne mulighed for at se, hvad beregningen gør i baggrunden, når de kører forskellige forespørgsler.
Indholdsfortegnelse
Underforstået GroupBy i LuckyTemplates
Den første ting du skal se på er den underforståede GroupBy, som findes i hver xmSQL.
Dette er en eksempelforespørgsel, der har funktionen EVALUER og VÆRDI:

Forespørgslen henter alle værdierne for året fra DimCalendar-tabellen. Du kan se, at det returnerede 10 rækker med data.

Processen vises i SQL-sætningen, hvor forespørgslen vælger kalenderåret fra DimCalendar og derefter grupperer det efter år. Udsagnet indebar en GroupBy-funktion i beregningen, fordi der ikke er andet i forespørgslen. Implied GroupBy er mere tydelig, når du bruger sammenlægninger.
Aggregeringer inde i lagermotor
For at få en idé om, hvad aggregering er, skal du gå til DAX Studio og slå Server Timings og Query Plan til. Kør derefter denne prøvemåling:

Når du har kørt forespørgslen, kan du se, at i modsætning til den tidligere eksempelforespørgsel, der har én scanning, har denne måling to. Dette skyldes, at den første prøve kun har værdierne for DimCalendar Year. Denne eksempelforespørgsel har kalenderåret og en aggregering.

Den første scanning er selve forespørgslen.

Den vælger DimCalendar-året og summerer salgsmængden fra tabellen Salgsdata, som følger datamodellens relationer.

I datamodellen følger DimCalendar-tabellen kolonnen Købsdato i faktatabellen til kolonnen Dato i kalendertabellen.
Den anden scanning sikrer, at der tages højde for alle manglende værdier.
Du kan se i resultaterne, at salgsbeløbet kun vises fra 2015 til 2018. Det viser dog stadig årene 2012 til 2014, selvom de er tomme.

Konklusion
Lagermotoren i DAX Studio viser dig hele processen bag en beregning. Det giver dig mulighed for at overvåge hver funktion og se mulige hits, der kan forsinke din DAX's ydeevne. Med sådanne oplysninger kan du skabe løsninger til at afbøde potentielle flaskehalse i udførelsen af din DAX-kode.
Hvis din DAX kører langsomt, så kig på lagermotoren og find ud af, hvad du kan gøre for at forbedre effektiviteten af din rapport.