I dette selvstudium lærer du om, hvordan lagermotoren kan bruge datamodellen til at beregne oplysninger til din DAX-beregning. Den har mulighed for at bruge Left Outer Joins via datamodellen.
Lagermotoren kan lave simple joinforbindelser ved at have et en-til-mange forhold i din datamodel eller ved at brugefunktion som overfører filtre frem og tilbage.
En en-til-mange relation betyder at have en dimensionstabel relateret til din faktatabel. DAX ved, hvornår du forespørger i en kolonne med denne type relation.
Indholdsfortegnelse
Filter i DAX-beregning
Her er en simpel datamodel med fire dimensionstabeller og en faktatabel i en stjerneskemaopsætning. Du kan også se fire nøgler i faktatabellen, der er relateret til de primære nøgler i dimensionstabellerne.

Dette er DAX-forespørgslen til datamodellen ovenfor:

Du kan se, at forespørgslen tilføjer kolonner til værdierne for DimCalendar-året. Forespørgslen kalder derefter på Total Sales-Context Transition. Når du brugerfunktion, du skal brugefor at påkalde kontekstovergangen for at undgå at have den samme værdi for det samlede beløb for hver række.
Når du har kørt forespørgslen, vil du se xmSQL-sætningen og resultaterne.

I erklæringen kan du se, hvordan forespørgslen fungerer. WITH - sætningen udfører det matematiske udtryk i DAX og vælger derefter DimCalendar Year. Sørg for at trække filtrene ind fra dimensionstabellen for at forhindre ydelsen i at blive langsommere.
Dernæst opsummerer lagringsmotoren udtrykket inde i WITH- klausulen og vælger data fra faktasalgstabellen ved at lave en Left Outer Join på DimCalendar til Sales Data Purchase Date, som er lig med DimCalendar-datoen.
At have Left Outer Join i lagermotoren gør hele beregningen hurtigere. Jo mere arbejde der udføres inde i lagermotoren, jo bedre resultater. At have komplekse joinforbindelser sænker DAX's ydeevne, fordi formelmotoren overtager beregningen.
VertiPaq er bygget til enklere ting. Det er enkelt i forhold til, hvad formelmotoren kan. Det er et spørgsmål om, hvor hurtigt det kan generere og give et resultat.
Konklusion
xmSQL-sætningen viser, hvad du laver, og hvordan den udfører hele beregningen. I redegørelsen kan du se arbejdsflowet såsom udførelsen af matematiske udtryk og kontekstovergange. VertiPaq kan påkalde disse overgange ved at bruge datamodellen med simple funktioner.
Få mere at vide om VertiPaq og xmSQL-erklæringen ved at bruge denne tutorial og udforske de tidligere blogindlæg, der taler om storage-motoren.