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? *****







Streudiagramm-Visualisierungen mit Charticulator

Streudiagramm-Visualisierungen mit Charticulator

In diesem Tutorial erfahren Sie, wie Sie mit Charticulator eine Streudiagramm-Visualisierung für Ihren LuckyTemplates-Bericht erstellen und entwerfen.

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

Erfahren Sie, wie Sie ein PowerApps-Suchfeld von Grund auf erstellen und es an das Gesamtthema Ihrer App anpassen.

Power Automate String-Funktionen: Substring und IndexOf

Power Automate String-Funktionen: Substring und IndexOf

Erlernen Sie ganz einfach zwei komplizierte Power Automate String-Funktionen, die in Microsoft Flows verwendet werden können – die Funktionen substring und indexOf.

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 Power Query M-Funktion „number.mod“, um ein abwechselndes 0-1-Muster in der Datumstabelle zu erstellen.

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

In diesem Tutorial führe ich eine Prognosetechnik durch, bei der ich meine tatsächlichen Ergebnisse mit meinen Prognosen vergleiche und sie kumulativ betrachte.

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

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.

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Erfahren Sie, wie die Do Until Schleifensteuerung in Power Automate funktioniert und welche Schritte zur Implementierung erforderlich sind.

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

In diesem Tutorial erfahren Sie, wie Sie mithilfe der ALLSELECTED-Funktion einen dynamischen gleitenden Durchschnitt in LuckyTemplates berechnen können.

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Durch diesen Artikel erhalten wir ein klares und besseres Verständnis für die dynamische Berechnung einer laufenden oder kumulativen Gesamtsumme in LuckyTemplates.

Power Automate auf jede Aktion in Workflows anwenden

Power Automate auf jede Aktion in Workflows anwenden

Erfahren und verstehen Sie die Bedeutung und ordnungsgemäße Verwendung der Power Automate-Aktionssteuerung „Auf jede anwenden“ in unseren Microsoft-Workflows.