I denne øvelse lærer du en optimeringsteknik til at reducere RAM-forbrug. Specifikt lærer du, hvordan du reducerer de tal, der er gemt efter en decimal . Dette er nyttigt, hvis du har at gøre med kolonner gemt i et decimaltalsformat.
I dette eksempel kan du se, at nettoprisen bruger 11 MB RAM, mens den samlede pris, enhedspris og enhedspris bruger 8 MB hver.

Når du går til og klikker på filterindstillingen i kolonnen Nettopris, kan du se, at kolonnen gemmer værdier på op til tre decimaler.

Dette kan forårsage en . Hvis flere cifre er gemt som decimaltal, vil ordbogen indeholde flere unikke værdier. Dette vil få VertiPaq til at skabe en enorm lagerstruktur til ordbogen.
Det anbefales derfor at optimere disse kolonner.
Indholdsfortegnelse
Power Query optimering for kolonner
Ideelt set vil du gemme værdier op til to decimaler. Højreklik på den kolonne, du vil optimere. Klik på Transformer > Rund > Rund .

Indstil derefter decimaler til 2 og klik på Okay.

En hurtig måde at transformere alle kolonnerne på én gang er ved at fremhæve dem og derefter følge de samme trin.

Dette anvender decimaltalsformatet på alle kolonnerne med et enkelt trin. Når du er færdig, skal du gemme dit arbejde.
Tjek RAM-forbrug
For at kontrollere, hvor meget RAM der blev reduceret, skal du åbne . Gå til fanen Avanceret, og klik på Vis metrics .

Ved at sammenligne originalen med de optimerede kolonner kan du se reduktioner i kolonnestørrelsen og ordbogsstørrelsen.

For dette eksempel ser det ud til, at forskellen i kilobytes ikke svarer til en god reduktion af RAM-plads. Men hvis du har at gøre med mere distinkte værdier, såsom tal med syv decimaler, ville besparelsen i RAM være stor.
Du kan også bemærke, at for kolonnen Enhedspris ændres kardinaliteten ikke, men der er en betydelig reduktion i kolonnestørrelsen.

Når du eller i en kolonne, introducerer du en ny sorteringsrækkefølge i Analysis Services. Dette kan enten øge eller mindske datamodellens størrelse.
Selvom antallet af distinkte værdier ikke ændrede sig, kunne Analysis Services muligvis have fundet en bedre sorteringsrækkefølge, som reducerede størrelsen af kolonnen.
Denne optimeringsteknik er især nyttig, hvis du gemmer en Dato/Tid-kolonne. Dette kan være lagring af værdier op til millisekund.
Når du reducerer kardinaliteten af hver værdi til et sekund, reducerer dette de unikke værdier i ordbogen.
Konklusion
Hvis du arbejder med en tabelmodel, skal du fokusere på at reducere en kolonnes kardinalitet.
Kardinaliteten er den afgørende faktor for mængden af RAM, som datamodellen vil forbruge. Den fortæller dig også, hvor lang tid det vil tage at scanne en bestemt kolonne, når du udfører din kode.
At optimere dine DAX-forespørgsler er afgørende for at opretholde en god LuckyTemplates-rapport. Det sikrer ikke kun, at dit arbejde yder godt, men det reducerer også belastningen på din maskine.