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 Verwendung der Power Query M-Funktion „number.mod“, um ein alternierendes 0-1-Muster in der Datumstabelle zu erstellen. Die Lösung, die ich Ihnen zeigen werde, kam von einem unserer Community-Power-User, Rajesh, bei LuckyTemplates. Sie können sich das vollständige Video dieses Tutorials unten in diesem Blog ansehen.

Ziel ist es, eine Folge von vier Nullen, abwechselnd mit vier Einsen, zu erzeugen und diese dann über den Tag hinweg zu wiederholen.

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

Rajesh war mit seiner Analyse und Problemaufschlüsselung genau richtig und nutzte die Power Query M-Funktion zur Lösung. Nachdem dies gesagt ist, gehen wir zu Power Query über.

Inhaltsverzeichnis

Die Power Query M Number.Mod-Funktion

Die Power Query M, insbesondere die Funktion number.mod, wird der Kern unserer Lösung sein. Was tut es?

Sie können die interne Dokumentation jeder M-Funktion überprüfen, indem Sie ihren Namen ohne Klammern wie hier in der Formelleiste eingeben. Diese Funktion gibt den Rest einer ganzzahligen Division zurück. Es benötigt bis zu drei Parameter, die ersten beiden, eine Zahl und den Divisor, der ebenfalls eine Zahl ist.

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

Jetzt fangen wir an. Ich wähle meine Beispielabfrage aus, die einen von mir vorbereiteten Datumsbereich enthält.

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

In vielen Fällen wird „number.mod“ in Kombination mit einer Indexspalte verwendet, die dann als erster Parameter verwendet wird. Aber das werde ich nicht tun, denn wenn Sie darüber nachdenken, ist der Datumswert eine ganze Zahl. Wir können also vermeiden, einen Index zu erstellen, der die gleiche Granularität wie die Spalte „Datum“ aufweist und in dem jede Zeile einen eindeutigen Wert hat.

Um einen Index nachzuahmen, müssen wir lediglich das allererste Datum in unserer Datumstabelle von jedem Datum in der Datumsspalte subtrahieren. Dazu können wir den Wert des Startdatums in einer Variablen speichern, sodass wir ihn immer wieder verwenden können. Ich finde, dass der erweiterte Editor dafür der beste Ort ist.

Also öffne ich das Fenster „Erweiterter Editor“ und erstelle eine neue Variable. Nennen wir es StartDate . Ich habe mein erstes Datum hier fest codiert, also kopiere ich es einfach und füge es ein. Vergessen Sie nicht das Komma am Ende, und wir können dieses erste Datum jetzt durch unsere Variable „Startdatum“ ersetzen.

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

Wie Sie sehen, hat sich nichts geändert.

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

Erstellen einer benutzerdefinierten Spalte für das Power Query M-Muster

Über diese Minitabelle werden wir also eine benutzerdefinierte Spalte hinzufügen.

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

Nennen wir diese Spalte „ Pattern“ und geben Sie die Power Query M-Funktion „number.mod“ ein . Hier sehen Sie die beiden Parameter, eine Zahl als nullbare Zahl und einen Divisor als nullbare Zahl. Daher sind zwei Zahlentypwerte als Parameter erforderlich.

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

Jetzt haben wir keine Zahlen, oder? Wir haben Datumsangaben und es gibt darin keine automatische Typkonvertierung. Wir müssen die Zahl also aus unserem Datumswert ermitteln. Also geben wir hier „number.from“ ein, dann unsere Datumsspalte und subtrahieren dann unsere StartDate- Variable.

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

Nehmen wir nun an, das erste Datum in unserer Date-Tabelle gibt eine Eins zurück, dann gibt auch unser StartDate eine Eins zurück. Und so ist eins minus eins gleich null. Ich möchte, dass unsere Indexnummerierung mit einer Eins statt mit einer Null beginnt. Also müssen wir eins plus eins addieren. Jetzt ist eins minus eins gleich null plus eins und gibt eine Eins für den ersten Datensatz zurück.

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

Für den zweiten Datensatz erhalten wir einen Wert von zwei (2) für das Datum in der Spalte „Datum“, minus einer Eins (1) aus unserem StartDate-Wert, der gleich eins ist, plus der Eins, die wir zurückaddieren, ergibt eine Zwei und so weiter . Unser sich wiederholendes Muster basierte auf einer Reihe von vier abwechselnden Werten. Als Teiler übergebe ich also den Wert vier (4).

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

Mal sehen, was das bewirkt. In Zeile vier erhalten wir Null, ebenso in Zeile acht. Daher gibt jedes vierte Vorkommen einen Nullwert für diesen Datensatz zurück.

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

Erstellen eines IF-THEN-ELSE-Konstrukts

Kehren wir zu unserem Kundendialogfeld zurück und erweitern die Logik, die wir bisher geschrieben haben. Mit Ausnahme des Divisors müssen wir dieselbe Logik wiederholen, um ein achtes Vorkommen identifizieren zu können.

In dieser achten Zeile möchten wir jedoch einen anderen Wert. Um also zwischen einem vierten und einem achten Vorkommen zu unterscheiden, können wir ein IF-THEN-ELSE-Konstrukt verwenden. Auf diese Weise können wir einen Wert für den ersten logischen Test zurückgeben, der ein „Wahr“ zurückgibt.

Wenn also , und ich füge unseren Code hier wieder ein (mit Ausnahme des Divisors), ändern Sie diesen Divisor in eine Acht, sodass eine achte Zeile Null zurückgibt. Wenn das also gleich Null ist, bedeutet das, dass der Weg zu „wahr“ oder „falsch“ fehlschlägt. Dann wollen wir eine Eins (1). Andernfalls , wenn unsere Logik hier identifiziert, dass eine vierte Zeile gleich Null ist, dann wollen wir Null (0). Sonst wollen wir keinen Wert zurückbekommen. Fügen wir also eine null hinzu .

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

Lassen Sie uns nun noch einmal unsere Logik überprüfen. Bei jedem vierten Vorkommen erhalten wir also diese Null. Und dann, am achten, bekommen wir eine Eins. Als nächstes erhalten wir eine Null und eine Eins und so weiter.

Das sieht also gut aus. Jetzt müssen wir nur noch diese Werte auffüllen.

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

Also fügen wir in der Formelleiste am Anfang ein Table.FillUp und dann einige öffnende Klammern ein. Am Ende unseres Codes fügen wir die Typnummer hinzu – wir müssen auch eine Spalte als Liste hinzufügen. Also setzen wir ein Komma , verwenden dann die geschweiften Klammern für den Listeninitialisierer und übergeben ihn als Textwert in unserem Spaltennamen Pattern . Vergessen Sie nicht die schließenden Klammern und drücken Sie OK.

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


Einsteigerhandbuch zum M-Code in LuckyTemplates
M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu
und sortieren Datumstabellenspalten in LuckyTemplates

Abschluss

Dies ist ein sehr einzigartiges Szenario, und ehrlich gesagt fällt mir keine Anwendung für dieses spezielle Muster ein, aber ich hoffe, Sie erkennen das Potenzial der Erstellung von Sequenzen mithilfe der Power Query M-Funktion „number.mod“.

Weitere Informationen finden Sie im vollständigen Video zu diesem Tutorial.

Alles Gute!

Melissa


So speichern und laden Sie eine RDS-Datei in R

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.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

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.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

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

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst