Streudiagramm-Visualisierungen mit Charticulator
In diesem Tutorial erfahren Sie, wie Sie mit Charticulator eine Streudiagramm-Visualisierung für Ihren LuckyTemplates-Bericht erstellen und entwerfen.
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.
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:
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:
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.
Bei Spalten mit derselben Struktur können die Daten weiter komprimiert werden, indem die Werte entweder in aufsteigender oder absteigender Reihenfolge angeordnet werden.
Anhand dieser richtig sortierten Spalte können Sie sehen, dass die Methode „Lauflängenkodierung“ jetzt eine Datenstruktur mit einer Zeile weniger zurückgibt.
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.
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.
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.
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.
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:
Kopieren Sie als Nächstes die gesamte Spalte und fügen Sie sie als Value ein .
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.
In diesem Tutorial erfahren Sie, wie Sie mit Charticulator eine Streudiagramm-Visualisierung für Ihren LuckyTemplates-Bericht erstellen und entwerfen.
Erfahren Sie, wie Sie ein PowerApps-Suchfeld von Grund auf erstellen und es an das Gesamtthema Ihrer App anpassen.
Erlernen Sie ganz einfach zwei komplizierte Power Automate String-Funktionen, die in Microsoft Flows verwendet werden können – die Funktionen substring und indexOf.
Dieses Tutorial konzentriert sich auf die Power Query M-Funktion „number.mod“, um ein abwechselndes 0-1-Muster in der Datumstabelle zu erstellen.
In diesem Tutorial führe ich eine Prognosetechnik durch, bei der ich meine tatsächlichen Ergebnisse mit meinen Prognosen vergleiche und sie kumulativ betrachte.
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.
Erfahren Sie, wie die Do Until Schleifensteuerung in Power Automate funktioniert und welche Schritte zur Implementierung erforderlich sind.
In diesem Tutorial erfahren Sie, wie Sie mithilfe der ALLSELECTED-Funktion einen dynamischen gleitenden Durchschnitt in LuckyTemplates berechnen können.
Durch diesen Artikel erhalten wir ein klares und besseres Verständnis für die dynamische Berechnung einer laufenden oder kumulativen Gesamtsumme in LuckyTemplates.
Erfahren und verstehen Sie die Bedeutung und ordnungsgemäße Verwendung der Power Automate-Aktionssteuerung „Auf jede anwenden“ in unseren Microsoft-Workflows.