30% off automatic replica cartiers. best swiss iwc replicas is a truly classic and tasty watch. cheap iwcwatch.to sale. approximately four decades might be https://www.audemarspiguetwatches.to/ for sale in usa pioneer. audemarspiguetwatch usa needs superior artistry as well as engineering science. high end https://franckmullerwatches.to/ from replicamaker. each and every high quality https://www.franckmuller.to/ is truly a understand masterpiece of design. absolute hand and wrist in making is actually a leading benefit from luxury movadowatch.to watches. highest quality and absolutely movadowatches.to. have to choose the right store to buy a good luxuryreplicawatch.to,in here you can rest assured.

Tìm hiểu về Power Query / M Language (Part 2): Cấu trúc và cú pháp ngôn ngữ M

Tiếp theo với chỗi bài viết tìm hiểu Power Query M. Chúng ta cùng tìm hiểu về cấu trúc, cú pháp ngôn ngữ Power Query Formula (hay còn gọi là ngôn ngữ M ).

Series Index:

  1. (Part 1): Tổng quan
  2. (Part 2): Cấu trúc và cú pháp ngôn ngữ M
  3. (Part 3): Định nghĩa hàm tính

Power Query M language

Ngôn ngữ Power Query Formula (M) được dùng trong Power Query, là một ngôn ngữ chức năng, phân biệt chữ in hoa, chữ thường. Thể hiện sau tất các bước Query là những đoạn mã ngôn ngữ M cho phép lọc và kết hợp hay là trộn lẫn dữ liệu từ một hoặc nhiều nguồn dữ liệu. Power Query nhúng ngôn ngữ M trong các ứng dụng như Excel và Power BI để cho phép truy vấn và kết hợp dữ liệu.

M ngôn ngữ phân biệt Chữ in Hoa chữ thường!

  • M là một ngôn ngữ lập trình chức năng.
  • Tính toán thông qua đánh giá các chức năng toán học.
  • Lập trình liên quan đến việc viết các biểu thức thay vì các câu lệnh.
  • Mỗi truy vấn là một biểu thức duy nhất trả về một giá trị duy nhất.
  • Mọi truy vấn đều có kiểu dữ liệu trả về.

Sơ lược ngăn gọn qua như vậy để có cái nhìn nhanh với ngôn ngữ này, chúng ta cùng tìm hiểu nhanh về các vấn đề của ngôn như này.

Cùng bắt đầu với M

Mở hộp thoại Advanced Editor bạn sẽ thấy biểu thức “let” (let expression). trong thực tế bạn có thể thấy biểu thức let thường xuyên khi xem các đoạn mã (code) Power Query M và dễ nhầm lần rằng đó là biểu thức yêu cầu bắt buộc của câu lệnh M.

/* Trong ứng dụng Power BI Desktop, bạn chọn vào thẻ Home, trên thanh Ribbon và chọn Transform data tại nhóm chức năng Queries.
Sau đó bạn chột phải vào khung Queries bên trái màn hình chọn New Query -> Blank Query. Tiếp theo bạn mở hộp thoại Advanced Editor. */
let expression

Không, mặc dù let là biểu thức mang tính chất tổ chức cấu trúc nhưng không bắt buộc phải sử dụng let. các biểu thức đơn giản cũng hợp lệ.

let

Giống ví dụ đơn giản ở trên, let là biểu thức tạo ra một giá trị. Tuy nhiên let cho phép xác định các biểu thức trung gian có kết quả được gán cho các biến. Sau đó các biểu thức trung gian này có thể được sử dụng để tạo ra giá trí cuối cùng được trả về bởi biểu thức let.

Việc chia nhỏ một biểu thức lớn thành các thành phần trung gian với các tên được gán cho mỗi thành phần giúp đoạn mã của chúng ta dễ đọc hơn. Việc này cũng cho phép chúng tham chiếu đến các thành phần trung gian đó nhiều lần khi bạn cần để tính toán các giá trị trả về cuối cùng của biểu thức let.

Trong biểu thức let này, các biến được xác định theo tên, mỗi biến được theo sau bởi một dấu bằng, sau đó là biểu thức tạo ra giá trị được gán cho biến. Các định nghĩa biến được phân tách bằng dấu phẩy. Một phần của biểu thức chỉ đơn giản là một biểu thức xác định giá trị trả về.

Mục đích của let là cho phép xác định các biến, nên có nghĩa là ít nhất một trong số chúng (các biến) sẽ được sử dụng trong biểu thức. Tuy nhiên, điều này không bắt buộc. lệnh in có thể bỏ qua tất cả các biến vừa được xác định và trả về một kết quả khác.

Bạn sẽ thắc mắc tại sao lại tốn công sức xác định các biến chỉ để chúng không sử dụng? nhưng rất may, phong cách viết biểu thức như thế này là hiếm. Chỉ cần biết là nó có thể thực thi được.

Nói về hiếm nhưng có thể, về mặt kỹ thuật một biểu thức let không cần phải có bất kỳ phép gán biến nào. vd: let in 2 + 3 là hợp lệ. Nhưng nếu tất cả những gì bạn thực sự đang làm là viết một biểu thức đơn giản, tại sao không bỏ qua “let in” và chỉ viết trực tiếp biểu thức đơn giản? vd: 2 +3

Lồng biểu thức let trong một biểu thức let

Vì một biểu thức let là một biểu thức tạo ra một giá trị, nên các biểu thức let có thể được sử dụng ở bất cứ nơi nào được mong đợi tạo ra giá trị. Điều này có nghĩa là chúng ta có thể gán chúng cho các biến, lồng chúng vào bên trong các biểu thức let khác và sử dụng chúng để tạo ra các giá trị cho các đối số gọi hàm.

Tóm lược về let

  • Các truy vấn thường được tạo bằng câu lệnh let.
  • Cho phép một biểu thức duy nhất chứa các biểu thức bên trong.
  • Mỗi dòng trong khối let đại diện cho một biểu thức riêng biệt.
  • Mỗi dòng trong khối let có biến được đặt tên là mỗi bước Query.
  • Mỗi dòng trong khối lệnh yêu cầu kết thúc bằng dấu phẩy ” ,” ở cuối ngoại trừ dòng cuối cùng.
  • Biểu thức bên trong khối in được trả về dưới dạng giá trị câu lệnh let.

Chiều hướng thực thi các biểu thức

Thông thường khi nói về logic thực thi một đoạn mã chúng ta thường tuân theo quy tắc từ trên xuống dưới và từ trái sang phải, nhưng đối với Power Query M lệnh sẽ thực thi biểu thức như sau:

  • Lệnh thực thi được bắt đầu từ biểu thức bên trong khối in.
  • Đánh giá các biểu thức và kích hoạt thực thi các biểu thức liên quan.

Như vậy với biểu thức sau có thực thi được hay không?

Câu trả lời là có, với Power Query Mashup Engine không có vấn đề gì với điều này. Thứ tự của các biểu thức trong khối lệnh không quan trong. Tuy nhiên, bạn có thể sẽ dễ bị nhầm lần khi nhìn vào những biểu thức như thế này.

Đặt tên Biến ( Variable Names ) và cách ghi chú ( Comments ) các đoạn mã

M sử dụng kiểu ghi chú (comments) theo kiểu ngôn ngữ C (C-style). khi thực thi biểu thức sẽ bỏ qua những khối dòng này.

  • Ghi chú nhiều dòng được sử dụng bởi cú pháp bắt đầu bằng tổ hợp dấu /* và kết thúc bằng tổ hợp dấu */. Nội dung nằm trong khoảng hai tổ hợp dấu này sẽ không thực thi trong biểu thức.
  • Ghi chú trên một dòng đơn sử dụng bắt đầu bằng tổ hợp dấu // và không có dấu kết thúc. Nội dung nằm bên phải dấu này sẽ không thực thi trong biểu thức

M sử dụng các ký tự (a-z) hoặc (A-Z) và số (0-9) dùng đặt tên cho biến để lưu giá trị của biểu thức.

  • Tên biến có khoảng khoảng cách (khoảng trắng) sẽ được đặt trong tổ hợp dấu #”” ví dụ: #”data Mashup”
  • Tên biến có khoảng cách (khoảng trắng) được tạo tự động khi sử dụng các chức năng qua giao diện Power Query Editor. vd: #”Changed Type”

Leave a Reply

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