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 untersuchen wir eine interessante Frage, die im gestellt wurde , nämlich die Frage, wie eine sich ändernde Anzahl von Spalten in einer Power Query-Tabelle dynamisch zusammengeführt werden kann. Das vollständige Video dieses Tutorials können Sie unten in diesem Blog ansehen.
In diesem Szenario geht es um Rohdatenexporte, die dazu führen, dass die Daten in eine unbekannte Anzahl benachbarter Spalten übergehen. Wenn Sie sich das Beispiel ansehen, können Sie sehen, dass die Beschreibung in Spalte 4 übergegangen ist und Beschreibung 2 auf zwei benachbarte Spalten aufgeteilt wurde. Aber das wird nicht immer der Fall sein. Im nächsten Zyklus könnte sich diese Spaltenanzahl ändern.
Bevor wir uns mit der Lösung befassen, untersuchen wir den M-Code, den Power Query generiert, wenn Sie Spalten zusammenführen.
Inhaltsverzeichnis
M-Code der Power Query-Tabelle
Es gibt verschiedene Möglichkeiten, Spalten zusammenzuführen. Eine besteht darin, sowohl die Beschreibungsspalte auszuwählen und entweder die Umschalttaste oder die Strg-Taste gedrückt zu halten, um dann auch Spalte 4 auszuwählen. Klicken Sie dann mit der rechten Maustaste und wählen Sie „Spalten zusammenführen“ aus .
Oder wählen Sie auf der Registerkarte „Transformieren“ die Option „Spalten zusammenführen“ aus . Daraufhin erscheint dieses Dialogfeld, in dem Sie das Trennzeichen auswählen können.
Wählen Sie im Popup-Fenster „Tab“ aus und Sie können einen neuen Spaltennamen eingeben. In diesem Fall habe ich es Beschreibung genannt.
In der Bearbeitungsleiste sehen wir den M-Code, der durch diesen Transformationsschritt erstellt wurde.
Wenn die Bearbeitungsleiste auf Ihrem Bildschirm nicht sichtbar ist, wechseln Sie zur Registerkarte „Ansicht“ und aktivieren Sie sie.
Die Funktion, die Power Query zum Zusammenführen von Spalten verwendet, ist also Table.CombinedColumns . Der erste Parameter ist eine Tabelle. Diese Tabelle wird vom vorherigen Schritt in unserem Code zurückgegeben. In den „Angewandten Schritten“ sehen Sie also, dass sie „ Source“ heißt .
Anschließend wurden die Spaltennamen in einer Liste fest codiert. Hier sehen Sie Listeninitialisierer und zwischen In-Text-Werten die Beschreibung des Spaltennamens und den Spaltennamen Spalte 4. Anschließend wird eine weitere M-Funktion aufgerufen, um die Textwerte in diesen Spalten zu kombinieren.
Und schließlich wird der neue Spaltenname als Text übergeben, damit wir ihn anpassen können.
Wenn wir also möchten, dass diese Funktion eine sich ändernde Anzahl von Spalten dynamisch zusammenführt, müssen wir den zweiten Parameterwert ändern, der jetzt eine Liste fest codierter Spaltennamen enthält.
Zusammenführen einer sich ändernden Anzahl von Spalten in einer Power Query-Tabelle
Ich gehe zurück zu meiner Rohdatenabfrage und wenn wir uns die Spaltennamen genauer ansehen, sehen wir, dass jede der Überlaufspalten anonym ist. Sie haben keine Eigennamen, aber sie beginnen alle mit der Textspalte, gefolgt von einer Zahl. Mal sehen, ob wir das nutzen können. Zuerst erstelle ich eine Referenz, indem ich hier mit der rechten Maustaste klicke und Referenz auswähle .
Und um die Spaltennamen in die Bearbeitungsleiste zu bekommen, kann ich Table.ColumnNames hinzufügen . Diese Funktion gibt eine Liste mit allen Spaltennamen aus dieser Tabelle zurück. Lassen Sie uns dies wieder in eine Tabelle umwandeln, indem Sie auf „Zu Tabelle“ klicken .
Klicken Sie in diesem Popup-Fenster auf OK.
Dann wähle ich auf der Registerkarte „Spalte hinzufügen“ „Format“ und dann „Trimmen“ aus .
Nun, das ist keine Transformation, die ich durchführen möchte, aber sie generiert den Großteil des M-Codes für mich. Ich muss nur diese Trimmfunktion durch meine eigene Logik ersetzen .
In der Bearbeitungsleiste können wir also anstelle von Text.Trim sagen, ob Text.StartsWith ist , und es dann auf unsere Spalte 1 verweisen , und ich werde das sofort kopieren. Es möchte den Text haben, nach dem wir suchen, das heißt also „Spalte“. Wenn es also mit einer Textspalte beginnt, möchten wir „null“ – für alles andere möchten wir alles, was in Spalte 1 steht. Wir können diese Spalte auch umbenennen, also nennen wir sie in der Bearbeitungsleiste anstelle von Trim GroupColumn .
Jetzt müssen wir sie nur noch mit diesen Werten füllen. Also klicke ich mit der rechten Maustaste auf meine Kopfzeile, wähle „ Fill “ und „Down“ aus .
Wenn also das nächste Mal Daten eingehen und sich die Anzahl der Spalten geändert hat, übernimmt diese Gruppe diese automatisch.
Benennen wir diese Abfrage um, ich nenne sie Spaltengruppen.
Stellen wir sicher, dass das Laden deaktiviert wurde, da es sich lediglich um eine unterstützende Abfrage handelt.
Ich kann auf diese unterstützende Abfrage verweisen und werde sie später umbenennen. Lassen wir das erst einmal. Wenn Sie sich erinnern, haben wir zunächst zwei Spalten zusammengeführt und dadurch eine fest codierte Liste mit den Spaltennamen erstellt . Jetzt können wir in unserer GroupColumn nach Beschreibung filtern .
Wenn wir diesen Filter also auf die Beschreibung in Spalte 1 anwenden, erhalten wir die Spalten, die diese Kriterien erfüllen.
Allerdings handelt es sich hierbei um eine Tabelle und nicht um eine Liste. Wir müssen alles extrahieren, was in dieser ersten Spalte übrig bleibt, da wir diese Spalten in unseren Zusammenführungsvorgang einbeziehen müssen. Dazu können wir mit der rechten Maustaste auf die Überschrift unserer Spalte 1 klicken und „Drill Down“ auswählen .
Und jetzt bekommen wir eine Liste. Geben wir dieser Abfrage also einen richtigen Namen ( ListDescr ) und prüfen wir, ob sie beim Laden deaktiviert ist.
Jetzt können wir zu unserer Ergebnisabfrage zurückkehren und das zweite Argument hier durch unsere dynamische Liste ersetzen. Hier können wir also auf unsere ListDescr verweisen .
Wiederholen wir dies auch für Beschreibung 2. Ich gehe zu meiner ColumnGroups-Abfrage. Ich erstelle eine weitere Referenz und wähle die Spalten aus, die ich benötige. Dann filtere ich Beschreibung 2, wodurch diese drei Spalten zurückgegeben werden. Ich klicke mit der rechten Maustaste auf meine Kopfzeile, wähle „Drill Down“ und benenne auch diese Abfrage um ( ListDescr2 ).
Ich gehe dann zurück zu meiner Ergebnisabfrage, wähle die Spalte „Beschreibung2“ aus und drücke entweder die Umschalt- oder die Strg-Taste, um auch die nächste Spalte (Spalte2) auszuwählen. Ich klicke mit der rechten Maustaste auf die Kopfzeile und wähle „Spalten zusammenführen“ aus .
Im Popup-Fenster wähle ich Tab als Trennzeichen und nenne es „Beschreibung2“.
Ich ändere einfach den Spaltennamen hier in der Bearbeitungsleiste. Ich werde auch diese hartcodierte Liste von der Liste, die wir gerade erstellt haben, ändern. Und jetzt ist, wie Sie sehen, auch Spalte 8 enthalten, die wir zuvor ausgeschlossen hatten.
So führen Sie Abfragen in LuckyTemplates zusammen.
LuckyTemplates-Abfrageparameter: Optimieren von Tabellen,
Sortieren von Datumstabellenspalten in LuckyTemplates
Abschluss
In diesem Blog habe ich Ihnen gezeigt, wie Sie M-Codes in Power Query verwenden, um Spalten dynamisch zusammenzuführen. Es ist nicht schwierig, solange Sie mit der Funktionsweise von Power Query und den zu verwendenden M-Codes vertraut sind.
Ich hoffe, Ihnen hat es gefallen. Weitere verwandte Inhalte finden Sie unter den folgenden Links.
Alles Gute!
Melissa
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