LuckyTemplates-Komprimierungstechniken in DAX Studio

In diesem Tutorial erfahren Sie mehr über die verschiedenen LuckyTemplates-Komprimierungstechniken in , die Ihnen bei der Optimierung Ihres Berichts helfen.

Nachdem die Daten von den Analysediensten in LuckyTemplates, Power Pivot und SSAS segmentweise geladen wurden , treten zwei Ereignisse auf. Der erste Grund besteht darin, dass sie versuchen, unterschiedliche Kodierungsmethoden zu verwenden, um Spalten zu komprimieren und so die Gesamtgröße des RAM zu reduzieren . Der zweite Grund besteht darin, dass sie versuchen, die beste Sortierreihenfolge zu finden, bei der sich wiederholende Werte zusammengefügt werden. Diese Methode erhöht auch die Komprimierung und verringert somit die Belastung des Speichers.

Analysis Services verwendet verschiedene Komprimierungstechniken. Dieses Tutorial behandelt insbesondere drei Methoden, nämlich Wertkodierung, Lauflängenkodierung und Wörterbuchkodierung. Im letzten Abschnitt dieses Tutorials wird erläutert, wie die Reihenfolge der Arbeiten in Analysis Services sortiert wird.

Inhaltsverzeichnis

LuckyTemplates-Komprimierungstechnik Nr. 1: Wertkodierung

Die erste heißt Wertkodierung.

Die Wertkodierung sucht nach einer mathematischen Beziehung zwischen jedem Wert in einer Spalte, um den Speicher zu reduzieren. Hier ist ein Beispiel in Microsoft Excel:

Diese Spalte benötigt 16.384 Bit, um die Werte zu speichern.

LuckyTemplates-Komprimierungstechniken in DAX Studio

Um die erforderlichen Bits zu berechnen, verwenden Sie zunächst die Funktion MAX() in Excel, um den höchsten Wert in den Spalten zu erhalten. In diesem Fall ist es 9144. Verwenden Sie dann die Funktion POWER(), um die erforderlichen Bits zu berechnen. Verwenden Sie das Argument POWER(2, X), wobei X ein beliebiger positiver Wert ist, der eine Antwort zurückgibt, die größer als der MAX-Wert ist. X stellt in diesem Fall auch die benötigten Bits dar. In diesem Beispiel ist der Wert von X also 14, was 16.384 ergibt . Daher benötigt die Spalte 14 Bit Speicherplatz.

Um die erforderlichen Bits mithilfe der Wertkodierung zu reduzieren, sucht VertiPaq nach dem MIN-Wert in der Spalte und subtrahiert ihn von jedem Wert. In diesem Fall beträgt der MIN-Wert in der Spalte 9003. Wenn Sie diesen Wert von der Spalte subtrahieren, werden die folgenden Werte zurückgegeben:

LuckyTemplates-Komprimierungstechniken in DAX Studio

Wenn Sie dieselben Funktionen und Argumente verwenden, können Sie sehen, dass der MAX-Wert für die neue Spalte 141 beträgt. Und die Verwendung von 8 als Wert von X ergibt 256 . Daher benötigt die neue Spalte nur 8 Bit.

Sie können sehen, wie komprimiert die zweite Spalte im Vergleich zur ersten Spalte ist.

Sobald die Daten komprimiert sind und Sie versuchen, die neue Spalte abzufragen, scannt die Storage Engine oder Vertipaq diese Spalte. Sie geben nicht einfach die neuen Werte der Spalte zurück. Stattdessen addieren sie den subtrahierten Wert, bevor sie das Ergebnis an den Benutzer zurückgeben.

Die Wertkodierung funktioniert jedoch nur bei Spalten, die ganze Zahlen oder Werte mit festen Dezimalzahlen enthalten.

LuckyTemplates-Komprimierungstechnik Nr. 2: Lauflängencodierung

Die zweite Kodierungsmethode heißt Lauflängenkodierung.

Durch die Lauflängenkodierung wird eine Datenstruktur erstellt, die den eindeutigen Wert, eine Startspalte und eine Zählspalte enthält.

Nehmen wir ein Beispiel:

LuckyTemplates-Komprimierungstechniken in DAX Studio

In diesem Fall wird angezeigt, dass in der ersten Zeile ein Rotwert verfügbar ist. Es stellt dann fest, dass der Schwarzwert in der zweiten Zeile beginnt und für die nächsten vier Zellen verfügbar ist. Es wird mit dem dritten Wert, Blau , fortgefahren, der in der sechsten Zeile beginnt und für die nächsten drei Zeilen verfügbar ist. Und das geht so lange, bis der letzte Wert in der Spalte erreicht ist.

Anstatt also die gesamte Spalte zu speichern, wird eine Datenstruktur erstellt, die nur Informationen darüber enthält, wo ein bestimmter Wert beginnt und wo er endet und wie viele Duplikate er hat.

LuckyTemplates-Komprimierungstechniken in DAX Studio

Bei Spalten mit derselben Struktur können die Daten weiter komprimiert werden, indem die Werte entweder in aufsteigender oder absteigender Reihenfolge angeordnet werden.

LuckyTemplates-Komprimierungstechniken in DAX Studio

Anhand dieser richtig sortierten Spalte können Sie sehen, dass die Methode „Lauflängenkodierung“ jetzt eine Datenstruktur mit einer Zeile weniger zurückgibt.

LuckyTemplates-Komprimierungstechniken in DAX Studio

Wenn Sie es also mit vielen unterschiedlichen Werten zu tun haben, empfiehlt es sich, die Spalte so optimal wie möglich zu sortieren. Dadurch erhalten Sie eine Datenstruktur mit weniger Zeilen, die wiederum weniger RAM belegt.

Die Lauflängenkodierung kann nicht auf Primärschlüssel angewendet werden, da Primärschlüsselspalten nur eindeutige Werte enthalten. Anstatt also für jeden Wert eine Zeile zu speichern, wird die Spalte so gespeichert, wie sie ist.

LuckyTemplates-Komprimierungstechnik Nr. 3: Wörterbuchkodierung

Die dritte Kodierungsmethode heißt Dictionary Encoding.

Durch die Wörterbuchkodierung wird eine wörterbuchähnliche Struktur erstellt, die den eindeutigen Wert einer Spalte enthält. Außerdem wird diesem eindeutigen Wert ein Index zugewiesen.

Schauen wir uns anhand des vorherigen Beispiels an, wie die Wörterbuchkodierung funktioniert. In diesem Fall wird den Werten Rot, Schwarz und Blau ein Index von 0, 1 bzw. 2 zugewiesen.

LuckyTemplates-Komprimierungstechniken in DAX Studio

Anschließend wird eine Datenstruktur erstellt, die der der Lauflängenkodierung ähnelt. Anstatt jedoch die tatsächlichen Werte zu speichern, speichert Dictionary Encoding den zugewiesenen Index jedes Werts.

LuckyTemplates-Komprimierungstechniken in DAX Studio

Dadurch wird der RAM-Verbrauch weiter reduziert, da Zahlen weniger Platz beanspruchen als String-Werte.

Durch die Wörterbuchkodierung wird außerdem der tabellarische Datentyp unabhängig. Das heißt, unabhängig davon, ob Sie eine Spalte haben, die in verschiedenen Datentypen gespeichert werden kann, spielt dies keine Rolle, da die Datenstruktur nur den Indexwert speichert.

Auch wenn es unabhängig ist, hat der Datentyp dennoch einen Einfluss auf die Größe des Wörterbuchs. Abhängig vom Datentyp, in dem Sie die Spalte speichern, schwankt die Größe des Wörterbuchs (oder der Datenstruktur). Die Größe der Spalte selbst bleibt jedoch gleich.

Je nachdem, welchen Datentyp Sie wählen, kann nach der Anwendung der Wörterbuchkodierung auf die Spalte anschließend die Lauflängenkodierung angewendet werden.

In diesem Fall erstellt Analysis Services zwei Datenstrukturen. Zuerst wird ein Wörterbuch erstellt und dann die Lauflängenkodierung darauf angewendet, um die Komprimierung der Spalte weiter zu erhöhen.

Sortierreihenfolge in Analysis Services

Lassen Sie uns im letzten Teil dieses Tutorials besprechen, wie Analysis Services über die optimale Art und Weise zum Sortieren von Daten entscheidet.

Schauen wir uns als Beispiel eine Spalte mit den Werten Rot, Blau, Schwarz, Grün und Rosa an. Auch ihnen sind die Nummern 1 bis 5 zugeordnet. Dies fungiert als Wörterbuch unserer Kolumne.

LuckyTemplates-Komprimierungstechniken in DAX Studio

Füllen Sie nun eine ganze Spalte in Excel mit diesen Werten. Verwenden Sie dieses Argument, um eine Spalte zu generieren, die diese Werte zufällig enthält.

LuckyTemplates-Komprimierungstechniken in DAX Studio

Ziehen Sie die Formel nach oben in die letzte Zeile. Klicken Sie auf OK , wenn das Popup-Fenster „ Großer Vorgang“ angezeigt wird. So wird es nun aussehen:

LuckyTemplates-Komprimierungstechniken in DAX Studio

Kopieren Sie als Nächstes die gesamte Spalte und fügen Sie sie als Value ein .

LuckyTemplates-Komprimierungstechniken in DAX Studio

Wenn Sie nun in Ihrem Excel-Dokument zur Option „ Datei“ gehen und auf „Info“ klicken , sehen Sie, dass die Spalte 14,1 MB belegt .

Um den RAM-Verbrauch zu reduzieren, können Sie die Spalte von A bis Z sortieren. Wenn Sie die Größe erneut überprüfen, können Sie feststellen, dass sie auf 12,5 MB reduziert wurde .

Die Reduzierung um 1,9 MB scheint nicht viel zu sein. Dies liegt daran, dass im Beispiel zur Veranschaulichung eine einzelne Spalte in Excel verwendet wurde. Excel ist nur auf 1 Million Zeilen beschränkt. In LuckyTemplates können Ihre Daten jedoch Milliarden von Zeilen und Spalten enthalten. Die Reduzierung des genutzten Platzes nimmt exponentiell zu.

Abschluss

Sobald Ihre Daten optimal sortiert sind, wendet Analysis Services je nach Datentyp eine der drei Komprimierungstechniken an.

Dadurch wird die Komprimierung Ihrer Daten erhöht, wodurch der auf Ihrem Gerät verbrauchte Speicher erheblich reduziert wird. Dadurch wird Ihr Bericht optimaler und lässt sich einfacher ausführen und laden.

Leave a Comment

Streudiagramm-Visualisierungen mit Charticulator

Streudiagramm-Visualisierungen mit Charticulator

In diesem Tutorial erfahren Sie, wie Sie mit Charticulator eine Streudiagramm-Visualisierung für Ihren LuckyTemplates-Bericht erstellen und entwerfen.

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

Erfahren Sie, wie Sie ein PowerApps-Suchfeld von Grund auf erstellen und es an das Gesamtthema Ihrer App anpassen.

Power Automate String-Funktionen: Substring und IndexOf

Power Automate String-Funktionen: Substring und IndexOf

Erlernen Sie ganz einfach zwei komplizierte Power Automate String-Funktionen, die in Microsoft Flows verwendet werden können – die Funktionen substring und indexOf.

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Dieses Tutorial konzentriert sich auf die Power Query M-Funktion „number.mod“, um ein abwechselndes 0-1-Muster in der Datumstabelle zu erstellen.

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

In diesem Tutorial führe ich eine Prognosetechnik durch, bei der ich meine tatsächlichen Ergebnisse mit meinen Prognosen vergleiche und sie kumulativ betrachte.

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

In diesem Blog erfahren Sie, wie Sie mit Power Automate E-Mail-Anhänge automatisch in SharePoint speichern und E-Mails anschließend löschen.

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Erfahren Sie, wie die Do Until Schleifensteuerung in Power Automate funktioniert und welche Schritte zur Implementierung erforderlich sind.

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

In diesem Tutorial erfahren Sie, wie Sie mithilfe der ALLSELECTED-Funktion einen dynamischen gleitenden Durchschnitt in LuckyTemplates berechnen können.

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Durch diesen Artikel erhalten wir ein klares und besseres Verständnis für die dynamische Berechnung einer laufenden oder kumulativen Gesamtsumme in LuckyTemplates.

Power Automate auf jede Aktion in Workflows anwenden

Power Automate auf jede Aktion in Workflows anwenden

Erfahren und verstehen Sie die Bedeutung und ordnungsgemäße Verwendung der Power Automate-Aktionssteuerung „Auf jede anwenden“ in unseren Microsoft-Workflows.