M jest potężnym językiem za sceną Power Query. Każda transformacja, którą zastosujesz będzie napisana w języku M. Dla wielu, M wygląda jak przerażający język. W tym poście chciałbym wyjaśnić trochę podstaw M. Nie wspominając o żadnych funkcjach. Głównie chcę wyjaśnić jak zbudowana jest składnia języka M. Kiedy już poznasz składnię, wtedy wszystko stanie się proste. M jest językiem, którego składni można się łatwo nauczyć. Jako programista Power Query, bardzo polecam spędzenie czasu nad językiem M, ponieważ jest wiele operacji, które można wykonać za pomocą M, ale możesz nie być w stanie zrobić tego w prosty sposób za pomocą interfejsu graficznego. Jeśli chcesz dowiedzieć się więcej o Power BI, przeczytaj książkę Power BI od Rookie do Rock Star.

M jest nieformalną nazwą Power Query Formula Language. Formalna nazwa jest tak długa, że nikt jej nie używa, wszyscy nazywają ją M! M to skrót od Data Mashup, niektórzy mówią, że to skrót od Data Modeling. M jest językiem funkcjonalnym i ważne jest, aby znać jego funkcje. Jednakże, każdy język ma swoją strukturę i składnię, która jest poziomem początkującym w nauce tego języka. W tym poście wyjaśnię składnię języka M. Zanim nauczysz się M, chciałbym abyś przeczytał to zdanie na głos;

M jest o wiele bardziej potężny niż interfejs graficzny Power Query

Tak, dobrze przeczytałeś! Interfejs graficzny Power Query zmienia się z miesiąca na miesiąc. Każdego miesiąca do tego interfejsu graficznego dochodzą nowe funkcjonalności. Ale faktem jest, że wszystkie te funkcjonalności są w tym języku od wielu lat! Jeśli znałeś język, mógłbyś z łatwością z nich korzystać, zamiast czekać na opcję interfejsu graficznego. Istnieje wiele przykładów na to. jeden bardzo mały przykład jest tutaj: możesz rozszerzyć swoją zdolność grupowania w Power Query z bardzo małą zmianą w skrypcie M.

Syntaktyka języka M

Syntaktyka tego języka jest prosta. zawsze posiada dwa bloki programowania: Blok wyrażeń LET, oraz Blok wyrażeń IN. Oto najprostsza składnia M;

let x=1in x

let i in są słowami zarezerwowanymi. zanim przejdziesz nawet jeden krok dalej, pierwszą i najważniejszą rzeczą, którą musisz wiedzieć;

M (Power Query Formula Language) jest wrażliwy na wielkość liter. Istnieje różnica między x i X.

co to są te dwa bloki programistyczne:

let: definicja wszystkich zmiennych

in: wyjście! Tak, in faktycznie oznacza out! tylko nazwane jako in. wszystko co umieścisz w tym bloku będzie wyjściem twojego zapytania.

Więc zasadniczo, zapytanie poniżej oznacza zdefiniowanie zmiennej o nazwie x, przypisanie jej wartości 1 i pokazanie jej jako zestawu wyników. tak więc zapytanie zwróci 1.

Aby uruchomić ten przykład, musisz otworzyć Power BI Desktop. Przejdź do Pobierz dane, zacznij od Nowe puste zapytanie.

w zakładce Widok, wybierz zaawansowany edytor;

Upewnij się, że kiedy piszesz skrypt, umieścisz zarezerwowane słowa, takie jak let i wszystkie małe litery. również twoja nazwa zmiennej powinna mieć te same litery zarówno w let jak i w section.

Jak widać, nie ma potrzeby definiowania typów danych dla zmiennych. Zostanie ona automatycznie przypisana, gdy nastąpi pierwsze przypisanie.

Jeśli określisz wartość tekstową, zmienna automatycznie będzie miała typ danych tekstowych.

Koniec linii

Linie kodów w M są kontynuowane, jeśli nie umieścisz znaku końca linii.

Jak widać w powyższym przykładzie, linia jest kontynuowana, a x będzie równe x=1+1 . Jeśli chcesz zakończyć linię użyj przecinka(,). przykład tutaj:

każda linia potrzebuje przecinka(,) aby zakończyć. z wyjątkiem ostatniej linii przed in.

Nazwy zmiennych

Nazwy zmiennych mogą być wszystkie jednym słowem, jak Źródło. lub może zawierać spacje. w przypadku, gdy masz kilka znaków takich jak spacja, wtedy musisz umieścić nazwę wewnątrz podwójnego cudzysłowu („) i umieścić hashtag na początku tego (#). coś podobnego do:

#"This is a variable name"

Nazwa zmiennej może zawierać znaki specjalne, oto przykład:

Znaki specjalne

Nazwy zmiennych mogą zawierać znaki specjalne, jak widać poniżej zmienna ma wszystkie rodzaje znaków w sobie i nadal działa dobrze.

Znak escape

Podwójny cudzysłów („) jest znakiem escape. możesz go użyć do zdefiniowania zmiennych z nazwami, które mają inny podwójny cudzysłów. Oto przykład:

Pierwszy cudzysłów (zaznaczony) powyżej musi być przed drugim cudzysłowem (który jest częścią nazwy zmiennej).

Kodowanie krok po kroku

Power Query jest transformacją krok po kroku. Każda transformacja zazwyczaj odbywa się krok po kroku. Podczas pisania kodu, można również zauważyć, że po prawej stronie, można zobaczyć, że każda zmienna tworzy krok.

w zrzucie ekranu powyżej, można zobaczyć, że każda zmienna jest określona jako krok. i jeśli zmienna ma spację w nazwie, pokaże ją ze spacjami na liście zastosowanych kroków.

Ostatnia zmienna jest zawsze określona w sekcji in.

Literały

Istnieją różne sposoby definiowania każdego literału w Power Query. Na przykład, jeśli chcesz zdefiniować zmienną daty, oto jak to zrobić;

Dla definiowania wszystkich innych typów literałów, oto tabela referencyjna, której należy użyć:

* dla funkcji i typu; Napiszę inny post później, aby wyjaśnić, jak te typy działają.

Wywołanie funkcji

M jest językiem funkcjonalnym, i do zrobienia prawie wszystkiego potrzebujesz wywołać funkcję. funkcje mogą być łatwo wywoływane z nazwą funkcji i określeniem parametrów dla niej.

Zrzut ekranu powyżej używa funkcji Date.Year, która pobiera część roku z daty. Nazwy funkcji zaczynają się zawsze od wielkich liter: Date.Year()

jak w każdym języku programowania, w swoim kodzie możesz umieszczać komentarze. Mogą one mieć dwie formy;

Komentarz jednowierszowy z podwójnym ukośnikiem (//)

Komentarz wielowierszowy pomiędzy ukośnikiem a początkiem (/*komentarze */)

Przykład z życia wzięty

Gdy znasz już podstawy, spójrzmy na istniejące zapytanie w trybie edytora zaawansowanego i zrozummy je.

na zrzucie ekranu powyżej, możesz zobaczyć wszystkie podstawy wspomniane do tej pory:

  1. let i in block
  2. nazwy zmiennych pasujące do kroków zastosowanych w zapytaniu
  3. niektóre nazwy zmiennych z hashtagiem i podwójnym cudzysłowem: #”var name”
  4. znaki końca linii: przecinek
  5. wywołanie wielu funkcji

Jest jeszcze wiele części tego zapytania, których możesz nie rozumieć. szczególnie przy użyciu funkcji. musisz dowiedzieć się, co robią funkcje, aby w pełni zrozumieć kod. Napisałem post na blogu, który wyjaśnia jak użyć słowa kluczowego #shared, aby uzyskać dokumentację wszystkich funkcji w Power Query.

W następnych postach, wyjaśnię kolejne poziomy struktur w M.

Trener, Konsultant, Mentor
Reza Rad jest Dyrektorem Regionalnym Microsoft, autorem, szkoleniowcem, mówcą i konsultantem. Posiada tytuł BSc w inżynierii komputerowej; ma ponad 20 lat doświadczenia w analizie danych, BI, bazach danych, programowaniu i rozwoju, głównie w technologiach Microsoft. Jest Microsoft Data Platform MVP od dziewięciu lat (od 2011 do teraz) za swoje zaangażowanie w Microsoft BI. Reza jest aktywnym blogerem i współzałożycielem RADACAD. Reza jest również współzałożycielem i współorganizatorem konferencji Difinity w Nowej Zelandii.
Jego artykuły na temat różnych aspektów technologii, w szczególności na temat MS BI, można znaleźć na jego blogu: https://radacad.com/blog.
Opisał kilka książek na temat MS SQL BI, a także pisze kilka innych, Był także aktywnym członkiem na internetowych forach technicznych takich jak MSDN i Experts-Exchange, oraz był moderatorem forów MSDN SQL Server, oraz jest MCP, MCSE, i MCITP of BI. Jest liderem nowozelandzkiej grupy użytkowników Business Intelligence. Jest również autorem bardzo popularnej książki Power BI from Rookie to Rock Star, która jest darmowa i zawiera ponad 1700 stron treści oraz Power BI Pro Architecture wydanej przez Apress.
Jest międzynarodowym prelegentem w Microsoft Ignite, Microsoft Business Applications Summit, Data Insight Summit, PASS Summit, SQL Saturday i grupach użytkowników SQL. I jest Certyfikowanym Trenerem Microsoft.
Pasją Reza jest pomoc w znalezieniu najlepszego rozwiązania w zakresie danych, jest entuzjastą danych.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.