Blog

Khái niệm cơ bản về ngôn ngữ M trong Power Query

M là ngôn ngữ mạnh mẽ đằng sau Power Query. Mọi thay đổi bạn áp dụng cho từng Query sẽ được viết bằng ngôn ngữ M. Đối với nhiều người, M giống như một ngôn ngữ đáng sợ, nhưng tôi muốn giúp các bạn hiểu rằng nó không hề đáng sợ mà lại còn vô cùng hữu ích. Trong bài viết này, chúng ta sẽ không đề cập đến bất cứ thứ gì cao siêu mà chủ yếu là tôi muốn giải thích cho bạn cấu trúc cú pháp ngôn ngữ M. Một khi bạn biết cú pháp, mọi thứ sau đó sẽ trở nên đơn giản. M là một ngôn ngữ mà bạn có thể học cú pháp của nó một cách dễ dàng và từ đó có thể thay đổi để thực hiện bất cứ yêu cầu trích xuất và thay đổi dữ liệu bạn cần. Là một tín đồ của Power Query, tôi thực sự khuyên bạn nên dành thời gian cho M, bởi vì có NHIỀU thao tác mà bạn có thể thực hiện với M, nhưng bạn có thể không thực hiện được chỉ trong công cụ trên giao diện Power Query.

M Là Gì?

M là tên không chính thức của Ngôn ngữ Power Query Formula và M là viết tắt của Data Mashup. M là một ngôn ngữ chức năng, và điều quan trọng là phải biết các chức năng của nó. Tuy nhiên, học cấu trúc và cú pháp là cấp độ đơn giản nhất của việc học ngôn ngữ đó. Trong bài đăng này, tôi sẽ giải thích cú pháp của M. Trước khi học M, tôi muốn nhấn mạnh lại cho bạn biết rằng: M mạnh và làm được hơn nhiều so với các công cụ trên giao diện của Power Query. Chính xác! Giao diện thanh công cụ của Power Query thay đổi hàng tháng và mỗi tháng có chức năng mới trên giao diện đồ họa này. Nhưng thực tế là tất cả các chức năng này đã có trong ngôn ngữ M trong nhiều năm! Nếu bạn biết ngôn ngữ, bạn có thể dễ dàng sử dụng chúng, thay vì chờ đợi tùy chọn giao diện đồ họa cho nó. (Cũng phải thôi khi đội ngủ Power BI không chỉ phải mất công đơn giản hóa thanh công cụ và lựa chọn tính năng nào phù hợp để đưa lên)

Cú Pháp Của M

Cú pháp của ngôn ngữ này rất đơn giản. nó luôn có hai programming blocks:

  1. Bắt đầu bằng khối biểu thức LET
  2. Kết thúc bằng khối biểu thức IN.

Dưới đây là cú pháp M đơn giản nhất: let xin_chao = “hello world” in xin_chao let in là các reserved words (tức là các từ đã được xử dụng cho lệnh và bạn không thể sử dụng các biến có tên tương tự). Ngoài ra, điều đầu tiên và quan trọng nhất bạn cần biết: M có Phân biệt chữ hoa chữ thường. Có sự khác biệt giữa x và X. Vậy hai programming blocks này là gì:

  1. LET: định nghĩa của tất cả các biến
  2. IN: đầu ra. mọi thứ bạn đặt trong khối này sẽ là kết quả của truy vấn của bạn.

Vì vậy, về cơ bản, truy vấn dưới đây có nghĩa là xác định một biến có tên là xin_chao, gán giá trị “hello world” cho nó và hiển thị nó dưới dạng kết quả. Vì vậy truy vấn sẽ trả về hello world như dưới đây. Để tạo câu lệnh như trên, bạn cần phải Mở Power BI Desktop. Đi tới Get Data, bắt đầu với New Blank Query. 2017-07-10_10h05_45 Sau đó trong tab View ở giao diện Power Query, chọn Advanced Editor; Bạn cần đảm bảo rằng khi viết script, letin phải được viết thường, không in hoa, cũng như tên biến của bạn phải giống nhau trong cả hai phần let và in. Như bạn thấy, không cần xác định kiểu dữ liệu cho biến. nó sẽ tự động được gán khi nhiệm vụ đầu tiên xảy ra. Nếu bạn chỉ định một giá trị text thì biến sẽ tự động là một kiểu dữ liệu text nếu là số nó sẽ tự nhận dạng là số.

Sử Dụng , Để Kết Một Dòng Lệnh

Các dòng mã trong M vẫn tiếp tục nếu bạn không đặt ký tự cuối dòng. Giả sử tôi tạo ra một đoạn script mới như sau rồi bổ sung thêm một đoạn dưới dòng đó: + 1. Như bạn có thể thấy trong ví dụ trên, dòng sẽ chạy tiếp tục và a sẽ bằng 1 + 1 = 2. Nếu bạn muốn kết thúc một dòng, hãy sử dụng dấu phẩy (,). như ví dụ ở đây: Mỗi dòng cần dấu phẩy (,) để kết thúc. ngoại trừ dòng cuối cùng trước in.

Tên Biến

Tên của các biến có thể là một từ, như Source, hoặc nó có thể có khoảng trống trong đó. Trong trường hợp bạn có khoảng trống trong tên biến, thì bạn cần đặt tên bên trong dấu ngoặc kép (“) và đặt một thẻ bắt đầu bằng # ở đầu nó (#). Một cái gì đó tương tự như: #”Tên biến này có khoảng trống” Tên biến có thể có ký tự đặc biệt, như bạn có thể thấy bên dưới biến có tất cả các loại ký tự trong đó và vẫn chạy tốt, chỉ cần ở trong dấu “ “. Dấu ngoặc kép (“) là ký tự thoát. bạn có thể sử dụng nó để xác định các biến có tên có dấu ngoặc kép khác trong đó. Ví dụ, mình muốn tạo ra một biến có tên là Tên biến “đặc biệt”. Chúng ta sẽ sử dụng như dưới đây: dấu ngoặc kép đầu tiên (được đánh dấu) ở trên là cần thiết trước dấu ngoặc kép thứ hai (là một phần của tên biến).

Coding Từng Bước

Power Query là một chuỗi biến đổi theo từng bước. Mọi biến đổi thường xảy ra trong một bước và nối tiếp bước tiếp theo. Trong khi coding, bạn cũng có thể nhận thấy rằng ở phía bên tay phải, bạn sẽ thấy mọi biến tạo thành một bước. Trong ảnh chụp màn hình ở trên, bạn có thể thấy mọi biến được xác định dưới dạng một bước. Và nếu biến có khoảng trắng trong tên, nó sẽ hiển thị với khoảng trắng trong danh sách các bước được áp dụng. Biến cuối cùng luôn được chỉ định trong phần in.

Sử Dụng Các Loại Biến Khác

Có nhiều cách khác nhau để xác định mọi chữ trong Power Query. Ví dụ, nếu bạn muốn xác định một biến ngày, đây là cách thực hiện: Để xác định tất cả các loại ký tự khác, đây là bảng tham chiếu để sử dụng: Literals

Sử Dụng Các Hàm Tính Toán M

M là một ngôn ngữ hàm, và để thực hiện hầu hết mọi thứ bạn cần gọi một hàm cho nó. Các hàm có thể được gọi dễ dàng với tên của hàm và chỉ định các tham số cho nó. Khi bạn đánh tên đầu của các loại hàm, sẽ có chỉ dẫn để bạn chọn các hàm tương ứng mà bạn cần. Đây là tính năng vô cùng hay giúp chúng ta không phải nhớ 100% các syntas cho các hàm mà chỉ cần nhớ loại hàm cần đánh ra trước tiên mà thôi. Ảnh ở trên sử dụng hàm Date.WeekOfYear giúp thay thổi giá trị biến ngày thành tuần trong năm. Tên các hàm luôn bắt đầu bằng các chữ cái viết hoa: Date.WeekOfYear (). Đồng thời, Microsoft có hẳn một thư viện hàm M để các bạn sử dụng tìm kiếm hàm cần sử dụng ở đây: https://docs.microsoft.com/en-us/powerquery-m/

Sử Dụng // Để Bổ Sung Ý Nghĩa Hoặc Bình Luận

Giống như bất kỳ ngôn ngữ lập trình nào, bạn có thể đưa comments vào code của mình. Nó có thể ở hai dạng:

  1. Comment dòng đơn với dấu gạch chéo kép (//)

Comment nhiều dòng giữa dấu gạch chéo và bắt đầu (/ * nhận xét * /) Đồng thời bạn cũng có thể bổ sung comment bằng cách chuột phải vào step mà bạn muốn bổ sung từ đó chọn Properties và bổ sung Description Và chúng ta sẽ thấy dòng comment này trong Query Editor

Sử Dụng Và Tùy Chỉnh

Bây giờ bạn đã biết một số điều cơ bản, hãy xem xét một truy vấn hiện có ở chế độ trình chỉnh sửa nâng cao và hiểu nó. Trong ảnh chụp màn hình ở trên, bạn có thể thấy tất cả những điều cơ bản được đề cập cho đến nay:

  1. let và in block
  2. Tên biến liên kết với các bước được áp dụng trong truy vấn
  3. Một số tên biến có hashtag bắt đầu bằng # và dấu ngoặc kép: #”var name”
  4. Ký tự cuối dòng: dấu phẩy
  5. Gọi các chức năng

Vẫn còn nhiều phần của truy vấn này mà bạn có thể không hiểu, đặc biệt khi sử dụng các chức năng. Bạn cần tìm hiểu các chức năng đang hoạt động để thực sự hiểu khi code. Nguồn: Internet Bài viết được sưu tầm trên mạng với mục đích chia sẻ kiến thức tới mọi người Nguồn: Internet Bài viết được sưu tầm trên mạng với mục đích chia sẻ kiến thức tới mọi người

Nguồn: Internet

Bài viết được sưu tầm trên mạng với mục đích chia sẻ kiến thức tới mọi người

Leave a Reply

Your email address will not be published. Required fields are marked *