So speichern und laden Sie eine RDS-Datei in R
Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.
In diesem Tutorial erfahren Sie, wie Sie in Ihren LuckyTemplates-Datenberichten ein bestimmtes Datum auswählen oder filtern . Das in diesem Tutorial verwendete Material stammt aus dem . Sie erfahren, wie Sie das Problem lösen und die verwendeten Methoden verstehen. Sie können sich das vollständige Video dieses Tutorials unten in diesem Blog ansehen.
Inhaltsverzeichnis
Den Datenbericht in LuckyTemplates verstehen
Dies ist der Beispieldatenbericht, der verwendet wird. Es besteht aus einem Table Visual und zwei Slicern.
Das Ziel besteht darin, eine Datumsauswahl über der Datumsspalte im Slicer zu haben. Das bedeutet, dass nach Auswahl eines Datums im Slicer in der Tabellenvisualisierung die vorherigen Tage im 7-Tage-Intervall angezeigt werden. In diesem Beispiel handelt es sich bei den im Datums-Slicer ausgewählten Daten um den 12. Mai 2007.
Die Tabelle sollte das Vorherige mit einem Unterschied von 7 Tagen zwischen den Daten anzeigen.
Sie müssen außerdem einen Was-wäre-wenn-Parameter erstellen , um die Anzahl der Daten basierend auf der Auswahl dynamisch anzuzeigen. Wenn Sie 3 auswählen , sollte das Tabellenvisual nur 3 Datumsangaben anzeigen.
Neuerstellung der Tabelle und Visualisierungen
Der erste Schritt besteht darin, einen Was-wäre-wenn-Parameter zu erstellen . Gehen Sie im LuckyTemplates-Desktop zur Registerkarte „Modellierung“ und wählen Sie „ Neuer Parameter“ aus .
Fügen Sie dem Parameter einen Namen hinzu und legen Sie den Datentyp auf Ganze Zahl fest . Legen Sie dann die Mindest-, Höchst-, Inkrement- und Standardwerte fest, wie in der Abbildung unten dargestellt. Fügen Sie den Slicer zur Seite hinzu, indem Sie das Kontrollkästchen aktivieren.
Nachdem Sie auf OK geklickt haben, wird ein Slicer generiert. Wandeln Sie den Slicer in eine Liste um, indem Sie auf die Dropdown-Schaltfläche klicken und Liste auswählen.
Als Nächstes müssen Sie eine duplizierte Datumstabelle erstellen, die als getrennte Datumstabelle verwendet wird. Gehen Sie zum Power-Query-Editor und duplizieren Sie Dates .
Benennen Sie dann das Duplikat DisDate um und klicken Sie auf Schließen und Übernehmen.
Laden der Datumstabellen und Slicer in LuckyTemplates
Sobald die duplizierte Tabelle in das LuckyTemplates-Modell geladen ist, erstellen Sie einen Slicer mit der Datumsspalte aus der getrennten Datumstabelle. Öffnen Sie die DisDate-Tabelle und ziehen Sie Date auf die Leinwand.
Anschließend verwandeln Sie die Visualisierung in einen Slicer.
Ändern Sie anschließend das Format des Slicers in List . Die Visualisierung sieht dann so aus.
Als Nächstes duplizieren Sie den Slicer und ändern das Datenfeld durch die Spalte „Datum“ aus der Tabelle „Datum“.
Durch die Auswahl eines Datums aus dem Datums-Slicer wird die Anzahl der sichtbaren Zeilen der Umsatztabelle in der Matrix begrenzt. Wenn Sie den 14. März 2005 auswählen, zeigt die Matrix nur dieses Datum an.
Das Ergebnis und die Messung funktionieren nicht, wenn Sie dieses Setup verwenden. Der Grund dafür ist, dass bereits vor Beginn der Maßnahme der Zugriff der Matrix gefiltert wurde. Für diese gefilterten Werte können Sie die Daten nicht mit Intervallen generieren.
Erstellen von Kennzahlen für die Auswahl-Slicer
Sie müssen eine Datumskonfiguration erstellen, die die Matrix nicht direkt filtert, wenn eine Auswahl über einem Slicer platziert wird. Die Filterung der Matrix muss über den DAX-Code erfolgen und nicht direkt von den Slicern. Wenn Sie also ein Datum aus dem DisDate-Slicer auswählen, werden keine Änderungen in der Matrix vorgenommen.
Dies liegt daran, dass die DisDate-Tabelle keine Beziehung zur Dates-Tabelle hat. Aus diesem Grund ist die getrennte Tabelle unerlässlich.
Löschen Sie den Slicer mit der Datumstabelle und erstellen Sie die erste Kennzahl. Die Kennzahl ruft den Wert ab, der im Slicer „Anzuzeigende Daten“ ausgewählt wurde. Die erste Variable, die Sie erstellen müssen, ist ValuesToShow . Setzen Sie es als Nächstes mit dem Wert „Dates To Show“ gleich und geben Sie RETURN ein , um die ausgewählten Werte zurückzugeben.
Ziehen Sie diese Kennzahl in die Matrix. Wenn Sie im Slicer „Anzuzeigende Daten“ den Wert „6“ auswählen, ergibt die Spalte „Maßzahl“ in der Matrix ebenfalls den Wert „6“.
Erstellen Sie als Nächstes eine weitere Variable, die das im Slicer ausgewählte getrennte Datum abruft.
Sobald Sie fertig sind, wird der im DisDate-Slicer ausgewählte Wert in der Spalte „Measure“ angezeigt.
Erstellen einer berechneten Tabelle
Erstellen Sie eine Liste von Daten mit 7-Tage-Intervallen, beginnend mit dem ausgewählten Datum im Slicer. Stellen Sie dann sicher, dass die Matrix die Anzahl der Tage basierend auf der Slicer-Auswahl „Anzuzeigende Daten“ generiert. Dazu müssen Sie zunächst eine berechnete Tabelle erstellen .
Mithilfe der berechneten Tabelle können Sie visualisieren, wie Datumsangaben im DAX-Code generiert werden. Gehen Sie zur Datenansicht und klicken Sie auf Neue Tabelle.
Geben Sie die Variable SelectedDate ein und setzen Sie sie mit der DATE- Funktion gleich. Geben Sie dann in den Klammern ein Datum ein. Erstellen Sie als Nächstes eine weitere Variable, die die Anzahl der Daten angibt, die Sie in der Matrix anzeigen möchten. Geben Sie DatesToShow ein und setzen Sie es mit der Anzahl der Daten gleich.
Erstellen Sie anschließend eine weitere Variable, die eine Liste mit Datumsangaben im 7-Tage-Intervall generiert. Geben Sie DatesList ein und verwenden Sie die Funktion GENERATESERIES . ist eine Funktion, die durch Übergabe mehrerer Argumente eine Liste von Zahlen generiert.
Geben Sie für das erste Argument SelectedDate – (DatesToShow * 7) als Startwert ein. Geben Sie als Nächstes SelectedDate als Endwert ein. Geben Sie als letztes Argument 7 für den Inkrementwert oder das Intervall zwischen Datumsangaben ein. Wenn Sie fertig sind, schließen Sie die Funktion und geben Sie RETURN und DateList ein .
Sie können dann eine Tabelle mit sieben Werten sehen, beginnend mit dem 5. Mai und zurückgehend mit Siebenerschritten.
Jetzt werden Sie feststellen, dass zu viele Daten erstellt wurden, als Sie benötigen. Im ursprünglichen Beispielbericht war das letzte angezeigte Datum mit den gleichen anzuzeigenden Daten und Datumsauswahlen der 31. März.
Um das zu beheben, können Sie entweder den Variablenwert „DatesToShow“ auf 5 ändern oder 1 von 6 subtrahieren. In diesem Beispiel wird 1 von 6 subtrahiert.
Danach sehen Sie, dass die Werte am 31. März enden.
Einfügen von Daten in den Filterkontext
Als Nächstes müssen Sie diese Daten verwenden und in einen Datumsfilterkontext einfügen. Sie müssen auch den Verkaufsbetrag im Filterkontext berechnen. Kopieren Sie also die GENERATESERIES- Syntax und kehren Sie zu Ihrer Kennzahl zurück.
Fügen Sie in der Kennzahl eine neue Variable hinzu und geben Sie DatesToShow ein . Setzen Sie diese Variable dann mit der GENERATESERIES- Syntax gleich. Ändern Sie die Variablen innerhalb der Syntax von SelectedDate in DisSelectedDate und DatesToShow in ValuesToShow .
Erstellen Sie abschließend eine Variable für das Ergebnis. Vergleichen Sie es mit der CALCULATE- Funktion für „Total Sales“ und „DatesToShow“, um alle von der GENERATESERIES- Syntax empfangenen Daten in den Filterkontext einzufügen. Geben Sie anschließend das Ergebnis in die RETURN -Funktion ein.
Jetzt werden Sie sehen, dass die Matrix nicht die Daten anzeigt, die der DAX-Code anfordert. Wenn Sie die Kennzahl „Gesamtumsatz“ in die Matrix einfügen, sehen Sie, dass der Code den Umsatzbetrag selbst zurückgibt.
Das Problem mit der Kennzahl besteht darin, dass das Datum, das in der GENERATESERIES- Syntax erstellt wurde, eine Datenherkunft mit der nicht verbundenen Datumstabelle aufweist. Das bedeutet, dass die Datumstabelle nicht mit der Verkaufstabelle verbunden ist. Aus diesem Grund enthielt die Datumsliste bei der Anwendung im Filterkontext nicht die Tabelle „Sales“.
Sie müssen die -Funktion verwenden, um virtuelle Beziehungen zu erstellen und den Filterkontext anzuwenden.
Verwenden von TREATAS zum Korrigieren des Datums in der LuckyTemplates-Matrix
Sie müssen die von der GENERATESERIES- Syntax empfangenen Werte so behandeln, als wären sie Teil der ursprünglichen Datumstabelle. Dabei wird im Grunde eine Herkunft mit der Datumsspalte der Datumstabelle im Datenmodell erstellt.
Geben Sie also in der Ergebnisvariable TREATAS nach der Tabelle „Total Sales“ ein und geben Sie die Argumente an. Geben Sie als erstes Argument die Spalte oder Tabelle an, die nicht über die Beziehung verfügt. In diesem Fall wird die Spalte DatesToShow verwendet.
Geben Sie als zweites Argument die Spalte an, der Sie die Herkunft der Spalte im ersten Argument zuordnen möchten. In diesem Beispiel wird die Spalte „Datum“ aus der Tabelle „Datum“ verwendet.
Trotz der Korrekturen im Code zeigt die Spalte „Measure“ in der Matrix jedoch bei Verwendung des Slicers immer noch nicht die korrekten Werte an. Sie können auch feststellen, dass sich die Werte innerhalb der Spalte wiederholen.
Das Problem liegt in der Art und Weise, wie der Code geschrieben wurde. TREATAS wendet alle Werte in den Filterkontext an und überschreibt den vorhandenen Filterkontext zum ausgewählten Datum mit allen Werten, die von der Funktion GENERATESERIES abgerufen wurden.
Verwenden der KEEPFILTERS-Funktion über TREATAS
Um sicherzustellen, dass der Filter in den Filter eingefügt wird, ohne den vorhandenen Filterkontext zu überschreiben, müssen Sie die Funktion KEEPFILTERS verwenden. ändert die Filtersemantik von CALCULATE .
Geben Sie KEEPFILTERS vor der TREATAS- Funktion ein und bestätigen Sie die Messung.
Sie werden nun sehen, dass sich die Werte in der Spalte „Kennzahl“ nicht wiederholen.
Wenn Sie die Monate Mai und April erweitern, werden Sie sehen, dass die Werte in der Spalte „Kennzahl“ den Werten der Spalte „Gesamtumsatz“ entsprechen.
Entfernen Sie die Kennzahl „Gesamtumsatz“ in der Matrix und wählen Sie im Slicer „Dates To Show“ eine Zahl aus. Anschließend wird in der Matrix die entsprechende Anzahl an Daten angezeigt.
Beheben von Problemen mit fehlenden Datumsangaben in der LuckyTemplates-Matrix
Ein weiteres Problem bei diesem Bericht besteht darin, dass sich die Matrix nicht ändert, wenn Sie im DatesToShow- Slicer 8 auswählen.
Wenn Sie im Slicer 9 auswählen, zeigt die Matrix nur 8 Daten an. Sie werden auch feststellen, dass der 17. März in der Terminliste fehlt.
Der Grund dafür ist, dass an manchen Tagen in der Datumstabelle keine übereinstimmenden Transaktionen in der Verkaufstabelle vorhanden sind. Daher gibt die Kennzahl für diese Daten ein Leerzeichen zurück. Da leer zurückgegeben wird, entfernt der Code, der hinter der Matrix ausgeführt wird, die leeren Zeilen aus dem Ergebnis.
LuckyTemplates verwendet dann das zurückgegebene Ergebnis, um die Matrix zu füllen. Da einige Tage also leer sind, können Sie die Verkäufe und Einträge dieser Tage nicht in der Matrix sehen.
Wenn Sie etwas für die Tage ohne Verkäufe in Ihren Daten anzeigen möchten, kehren Sie zur Kennzahl zurück und entfernen Sie die CALCULATE- Syntax.
Verwenden von DAX zum Beheben fehlender Datumsangaben in LuckyTemplates
Erstellen Sie eine Datenherkunft, indem Sie TREATAS über die Spalten DatesToShow und Date der Dates- Tabelle schreiben. Überprüfen Sie dann, ob alle von der TREATAS- Funktion zurückgegebenen Daten im Filterkontext enthalten sind.
Teilen Sie von dort aus die Ausführung nach mehreren Variablen auf. Ändern Sie den Variablennamen von Result in CreateDataLineage , um zu zeigen, dass das Ergebnis von TREATAS gespeichert wird .
Erstellen Sie dann eine weitere Variable, die alle Daten enthält, die im Filterkontext der Matrix sichtbar sind. Geben Sie VisibleDate als Variablennamen ein und verwenden Sie über der Datumsspalte .
Als Nächstes erstellen Sie eine Spalte über dem Ergebnis der TREATAS -Funktion, die den Verkaufsbetrag enthält. Schreiben Sie DatesWithSales als Variablennamen und verwenden Sie über der Variable CreateDataLineage .
Erstellen Sie innerhalb der Funktion eine neue Spalte und nennen Sie sie „ Sales Amount“ mit der Kennzahl „Total Sales“ im Zeilenkontext, um den Kontextübergang einzuleiten.
Erstellen Sie anschließend eine Variable, die prüft, ob alle in der Variable „DatesWithSales “ gespeicherten Daten im Filterkontext enthalten sind. Geben Sie IsDateInFilterContext als Variablennamen ein und verwenden Sie die Funktion.
Schreiben Sie von dort aus DatesWithSales als erstes Argument der Funktion. Geben Sie als nächstes Dates[Date] IN VisibleDate als zweites Argument ein, um zu prüfen, ob das in der DatesWithSales- Tabelle enthaltene Datum in der VisibleDate- Variable enthalten ist .
Die letzte Variable, die Sie erstellen müssen, ist Result . Verwenden Sie die Funktion über die IsDateInFilterContext -Variable. Schreiben Sie [@Sales Amount] + 0, um die Tage einzubeziehen, die zuvor nicht enthalten waren.
Anschließend sehen Sie in der Matrix das fehlende Datum, den 17. März.
Verwendung von +0 im Originaltakt
In den vorherigen Schritten haben Sie gezeigt, wie Sie eine Kennzahl erstellen, um alle Daten einzubeziehen, für die es in der Faktentabelle keine Transaktionen gibt. Wenn Sie nun + 0 in der ursprünglichen Kennzahl verwenden, die Sie erstellt haben, sind alle Werte in der Kennzahlspalte alle 0.
Der Grund dafür ist, dass die Ergebnisvariable entweder ein Leerzeichen oder einen Verkaufsbetrag enthält. Wenn Sie also 0 hinzufügen, ersetzen Sie das Leerzeichen durch 0. Denken Sie daran, dass zusammengefasste Spalten die leeren Zeilen aus dem Datensatz entfernen. Geben Sie sie an LuckyTemplates zurück, sodass sie nur begrenzte Zeilen und keine Leerzeichen anzeigen können.
Da jedoch 0 hinzugefügt wird, ist die Zusammenfassungsspalte gezwungen, die Zeilen beizubehalten. Anschließend wird eine Tabelle zurückgegeben, die alle in der Datumstabelle vorhandenen Datumsangaben enthält und überall dort, wo sie anwendbar ist oder wenn sie leer ist, Null anzeigt.
Aus diesem Grund müssen Sie die Kennzahl so umschreiben, dass Sie nur 0 zu den Daten hinzufügen müssen, die im Filterkontext sichtbar und in der Variable „DatesToShow“ enthalten sind .
Power Automate-Konnektoren: Nummer, Text und Datum/Uhrzeit
Erweiterte Datumstabelle Power Query M-Funktion
Power Query LuckyTemplates | Erstellen Sie neue Datensätze basierend auf Datumsfeldern
Abschluss
Um einen Datenbericht zu erstellen, mit dem Sie ein bestimmtes Datum in einer LuckyTemplates-Matrix auswählen können , müssen Sie berechnete Tabellen und DAX-Funktionen verwenden . DAX-Funktionen und -Kennzahlen müssen so geschrieben werden, dass leicht Ergebnisse erzielt werden können.
Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.
Was ist Self in Python: Beispiele aus der Praxis
In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.
In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.
In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.
Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.
Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.
In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.
Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.
Was ist LuckyTemplates Gateway? Alles was du wissen musst