M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich zeige Ihnen, wie Sie der M-Funktion Ihrer Datumstabellenabfrage einen Parameter hinzufügen . Dieses Beispiel basiert auf einer Frage, die im gestellt wurde . Sie können sich das vollständige Video dieses Tutorials unten in diesem Blog ansehen.

Die Frage war, wie man die Nummerierung des 1. Wochentags von 0 auf 1 umstellen kann . Beachten Sie, dass sich dadurch der tatsächliche Beginn des Wochentags nicht ändert. In dieser Datumstabelle ist der Wochenbeginn immer Montag. Es geht nur darum, den Montag als Tag 1 statt als Tag 0 zu bezeichnen.

Dieser Prozess ist nicht unbedingt komplex, Sie benötigen jedoch ein grundlegendes Verständnis für die Struktur der M-Sprache. ansehen . Die Einleitung berührt das Thema.

Inhaltsverzeichnis

Die M-Funktion und die erweiterte Datumstabelle

Lassen Sie mich zunächst auf Power Query eingehen . Ich habe die M-Funktion der Datumstabelle bereits hier kopiert .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich habe die M-Funktion aus der Kategorie „M Code Showcase“ im LuckyTemplates-Forum erhalten . Der Code befindet sich unter dem Thema .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Wenn ich den erweiterten Editor öffne , ist dies der Code.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Da ist viel M-Code drin, was ablenken könnte.

Erstellen einer Testabfrage

Da in der M-Funktion zu viel los ist, beginne ich stattdessen mit einer neuen leeren Abfrage .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich werde diese Testabfrage nennen .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Als Nächstes öffne ich den erweiterten Editor .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Da ich eine Funktion erstelle, füge ich ein Paar Klammern hinzu und lösche den gesamten darin enthaltenen Standardcode.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Um die Funktion zu starten, werde ich einen optionalen Parameter deklarieren .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Als nächstes füge ich eine Variable hinzu. Ich nenne diese Variable WDStartNum , da sie für die Startnummer des Wochentags steht. Ich muss auch seinen Typ deklarieren, also gebe ich number ein .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich deklariere den Typ, um Fehler zu vermeiden. Wenn ich es einfach auf einem beliebigen Typ lasse, bedeutet das, dass es eine Tabelle oder einen Datumswert übergeben könnte, anstatt nur Zahlen.

Der nächste Schritt besteht darin, die let- Klausel und die in -Klausel hinzuzufügen .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Unter der let-Klausel benötige ich einen Variablennamen. Daher werde ich diese Variable WDStart nennen .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Jetzt muss ich testen, ob die WDStartNum übergeben wurde. Wenn es erfolgreich ist, entspricht es nicht null . Ich werde also erklären, dass ich einen Wert zurückgeben möchte, wenn WDStartNum nicht gleich Null ist .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Was die in-Klausel betrifft, möchte ich, dass derselbe Schritt ausgeführt wird. Also füge ich dort einfach WDStart ein , so wie wir unsere Variable zuvor unter der let-Klausel benannt haben.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Sobald ich auf „Fertig“ drücke, wird die Funktion erstellt. Also werde ich versuchen, einen Wert über diese Funktion zu übergeben.

Ich werde versuchen, den Buchstaben „a“ einzugeben.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Denken Sie daran, dass ich zuvor erklärt habe, dass der Wert eine Zahl sein muss. Da erkannt wird, dass der von mir eingegebene Wert diese Anforderung nicht erfüllt, kann ich diesen Parameter nicht eingeben.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Also werde ich das löschen und das Feld einfach leer lassen.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Sobald ich auf „Invoke“ klicke, wird der Wert 0 zurückgegeben.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Zurück zu meiner ursprünglichen Abfrage: Sie besagt, dass WDStartNum zurückgegeben werden sollte, wenn der Wert ungleich Null ist. Wenn es gleich null ist, sollte eine 0 zurückgegeben werden.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Damit ist 0 richtig.

Dieses Mal werde ich versuchen, einen Wert zu übergeben, indem ich die Zahl in der TestQuery ändere. Tatsächlich gibt es eine „1“ zurück, sobald ich die Eingabetaste drücke.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Lassen Sie mich nun versuchen, 2020 in der TestQuery zu bestehen. Sobald ich die Eingabetaste drücke, wird auch 2020 zurückgegeben.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Offensichtlich möchte ich nicht, dass das passiert. Da ich einen Wert möchte, der den Beginn der Woche darstellt, möchte ich, dass entweder eine 0 oder eine 1 angezeigt wird. Das bedeutet, dass ich einen weiteren Test erstellen muss, um zu sehen, ob die eingegebene Zahl entweder eine 0 oder eine 1 ist. Dazu kann ich die Funktion List.Contains verwenden.

Verwenden von List.Contains

Ich habe eine leere Abfrage erstellt und List.Contains eingegeben, ohne eine Klammer zu verwenden.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Sobald ich die Eingabetaste drücke, kann ich die Dokumentation zu dieser Funktion sehen.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

List.Contains gibt an, ob die Liste einen Wert enthält.

Daher ist eine Liste als erster Parameter erforderlich, und danach wird ein Wert hinzugefügt. Wenn dieser Wert in der Liste gefunden wird, wird „true“ zurückgegeben. Andernfalls wird false zurückgegeben.

Ich öffne den erweiterten Editor erneut, damit ich die erforderlichen Änderungen an meiner Abfrage vornehmen kann.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Anstatt zu testen, ob ein Wert ungleich Null ist, verwende ich List.Contains .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Jetzt gebe ich eine Liste von Werten an, die auf diese Funktion angewendet werden sollen.

Ich werde geschweifte Klammern als Listeninitialisierer verwenden. In diese geschweiften Klammern setze ich 0, 1. Ich füge ein Komma hinzu, nachdem ich diese Klammer geschlossen habe.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Für den zweiten Parameter verwende ich WDStartNum. Dann füge ich die schließende Klammer hinzu.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Wenn dies vorhanden ist, bedeutet dies, dass eine 0 oder 1 mir die WDStartNumber geben sollte. Wenn etwas anderes als eine 0 oder eine 1 eingegeben wird, sollte das Ergebnis 0 sein.

Lassen Sie mich das testen, indem ich 2020 in die TestQuery einfüge. Wie erwartet wird eine „0“ (Null) zurückgegeben.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Das liegt daran, dass der Wert 2020 nicht in der Liste enthalten ist.

Hinzufügen des Parameters zur M-Funktion

Da ich nun sicher bin, dass der Code funktioniert, kann ich ihn endlich in die eigentliche Datumstabelle und M-Funktion einfügen. Ich öffne den erweiterten Editor und kopiere dann die Logik .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Dann steige ich in die Datumstabellenabfrage ein.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich öffne die ursprüngliche M-Funktion über den erweiterten Editor .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Dann werde ich dort meinen Code einfügen. Stellen Sie sicher, dass am Ende der Zeile ein Komma steht.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Als nächstes werde ich meinen Parameternamen hervorheben und kopieren .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Dann werde ich diesen Parameter hier hinzufügen .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Beachten Sie, dass ich zuerst ein Komma am Ende der vorhandenen Zeile hinzufügen und dann diesen Parameter als optional deklarieren muss . Dann kann ich WDStartNum platzieren und den Typ hinzufügen .

Ich habe den Parameter hinzugefügt und auch die Logik eingebettet. Aber ich muss auch sicherstellen, dass ich die erwarteten Ergebnisse erhalte. Also werde ich nach der Codezeile suchen, die den Wochentag abdeckt.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Dann füge ich + WDStart hinzu .

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich klicke auf „Fertig“ , um den Editor zu schließen. Dann werde ich die Abfrage aufrufen.

Als Startdatum gebe ich den 1. Januar 2020 ein, dann verwende ich den 31. Dezember 2020 als Enddatum.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich verwende „7“ als Startmonat des Geschäftsjahres und gebe dann „0“ als WDStartNum ein.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich klicke auf „Invoke“. Jetzt habe ich die Datumstabelle.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Ich werde es umbenennen, um sicherzustellen, dass es leicht identifiziert werden kann.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Jetzt werde ich die Ergebnisse überprüfen.

Dies ist meine DayOfWeek- Kolumne.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Es zeigt, dass Montag als 0 zurückgegeben wurde.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Um auf die Frage im Forum zurückzukommen: Ich muss die Zahl des Wochenanfangs auf 1 statt auf 0 ändern. Also werde ich das einfach in der Kennzahl ändern.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Wenn ich die Eingabetaste drücke, ist Montag nun Tag 1 statt Tag 0.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Betrachtet man den Zahlenbereich, so reicht dieser nun von 1 bis 7 statt von 0 bis 6.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Was passiert, wenn ich einen Nullwert übergebe?

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu

Dann wird DayOfWeek für Montag einfach wieder auf 0 gesetzt.

M-Funktion für Datumstabelle – So fügen Sie einen Parameter im Abfrageeditor hinzu


Verwenden der M-Funktion zum Erstellen einer erweiterten LuckyTemplates-Datumstabelle.
Einsteigerhandbuch zum M-Code in LuckyTemplates.
Einrichten eines dynamischen Startdatums und Enddatums für Power Query-Datumstabellen

Abschluss

Auf diese Weise können Sie der M-Funktion Ihrer Datumstabellenabfrage einen zusätzlichen Parameter hinzufügen. Der Prozess ist, wie ich bereits erwähnt habe, überhaupt nicht komplex. Solange Sie eine Quelle für den M-Code haben, ist es von dort aus ganz einfach.

Auch hier können Sie sich jederzeit den Kurs „Erweiterte Datentransformationen und Modellierung“ in Online ansehen, wenn Sie keine Kenntnisse über die Funktionsweise von M-Codes haben.

Alles Gute,

Melissa

***** LuckyTemplates lernen? *****







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