Hàm tùy chỉnh sử dụng ngôn ngữ công thức M, nhận tập hợp các giá trị đầu vào, rồi trả về một giá trị đầu ra duy nhất. Nếu bạn có lô-gic mà bạn muốn sử dụng lại nhiều lần hoặc áp dụng cùng một tập hợp các chuyển đổi cho một truy vấn hoặc giá trị khác, hãy cân nhắc việc tạo một hàm tùy chỉnh, rồi gọi hàm ở đâu và khi nào bạn cần. Có một vài cách để tạo hàm tùy chỉnh:
-
Sử dụng công Trình chỉnh sửa nâng cao để thêm câu lệnh let của riêng bạn và bắt đầu từ đầu.
-
Sử dụng lệnh Gọi Hàm Tùy chỉnh.
-
Có các cách khác để tạo hàm không được thảo luận trong chủ đề trợ giúp này, bao gồm các lệnh Tạo Hàm và Thêm dưới dạng Truy vấn. Để có thảo luận chuyên sâu, hãy xem mục Tìm hiểu về các hàm Power Query M (docs.com)và Sử dụng hàm tùy chỉnh (docs.com).
Sau đây là một ví dụ đơn giản về một chức năng tùy chỉnh sau một truyền thống lập trình lâu đời.
-
Để tạo một truy vấn trống:
Excel Chọn Dữ liệu> Lấy dữ liệu >từ nguồn khác > truy vấn trống. Power Query Chuột phải vào một vị trí trống trong ngăn Truy vấn ở bên trái, rồi chọn Truy vấn Mới > Nguồn Khác > Truy vấn Trống. -
Trong ngăn Truy vấn ở bên trái, bấm đúp vào tên, rồi đổi tên truy vấn trống mới thành "HelloWorld".
-
Chọn truy vấn mới, rồi chọn Trang đầu > Trình chỉnh sửa nâng cao.
-
Thay thế mã bắt đầu mẫu bằng mã sau đây:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Chọn Xong.
-
Bạn đã thay đổi truy vấn, "HelloWorld", thành một hàm tùy chỉnh. Lưu ý biểu tượng
ở bên trái hàm. -
Để gọi hàm, hãy chọn hàm đó, rồi chọn Gọi trong Xem trước Dữ liệu.
-
Kết quả của hàm được hiển thị trong Bản xem trước dữ liệu và được thêm vào ngăn Truy vấn dưới dạng truy vấn có tên mặc định là Hàm Được gọi. Bạn có thể muốn đổi tên thành tên có ý nghĩa hơn, chẳng hạn như "HelloWorldResult".
-
Chọn truy vấn đó, rồi chọn Trang > Đóng & tải để xem kết quả trong một trang tính.
Kết quả
Ví dụ sau đây cho thấy cách truyền tham số sang hàm tùy chỉnh để chuyển đổi số thập phân thành số thập lục phân.
-
Để tạo một truy vấn trống:
Excel Chọn Dữ liệu> Lấy dữ liệu >từ nguồn khác > truy vấn trống. Power Query Chuột phải vào một vị trí trống trong ngăn Truy vấn ở bên trái, rồi chọn Truy vấn Mới > Nguồn Khác > Truy vấn Trống. -
Trong ngăn Truy vấn ở bên trái, hãy đổi tên truy vấn trống mới thành "MyHex".
-
Chọn truy vấn mới, rồi chọn Trang đầu > Trình chỉnh sửa nâng cao.
-
Thay thế mã bắt đầu mẫu bằng mã sau đây:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Chọn Xong.
-
Bạn đã thay đổi truy vấn , "MyHex", thành một hàm tùy chỉnh. Lưu ý biểu tượng
ở bên trái hàm. -
Để gọi hàm, hãy chọn hàm đó, rồi trong Bản xem trước Dữ liệu, nhập một số vào hộp tham số 1 , rồi chọn Gọi.
-
Kết quả của hàm được hiển thị trong Bản xem trước dữ liệu và được thêm vào ngăn Truy vấn dưới dạng truy vấn với tên mặc định là Hàm Được gọi. Bạn có thể muốn đổi tên thành tên có ý nghĩa hơn, chẳng hạn như "MyHexResult".
-
Chọn truy vấn đó, rồi chọn Trang > Đóng & tải để xem kết quả trong một trang tính.
Kết quả
Nếu bạn đã tạo hàm có ít nhất một tham số, bạn có thể gọi hàm đó là hàm tùy chỉnh để tạo cột mới và giá trị mới cho mỗi hàng trong bảng.
-
Để mở truy vấn, hãy định vị truy vấn đã tải trước đó từ Trình soạn thảo Power Query, chọn một ô trong dữ liệu, rồi chọn Truy vấn> Sửa. Để biết thêm thông tin, hãy xem mục Tạo, chỉnh sửa và tải truy vấn trong Excel (Power Query). Ghi Ví dụ: truy vấn của bạn cần có ít nhất một cột kiểu dữ liệu Số Nguyên.
-
Tạo hàm tùy chỉnh "MyHex" như được giải thích trong mục Tạo và gọi hàm tùy chỉnh có tham số với tham Trình chỉnh sửa nâng cao.
-
Trong truy vấn, chọn Thêm cột > Gọi Hàm Tùy chỉnh. Hộp thoại Gọi Hàm Tùy chỉnh xuất hiện.
-
Nhập tên cột mới, chẳng hạn như "HexConvert", trong hộp Tên cột mới.
-
Chọn tên của một hàm tùy chỉnh được xác định trước từ danh sách thả xuống Truy vấn hàm. Trong ví dụ này, hãy chọn "MyHex".
-
Vì hàm tùy chỉnh tham chiếu đến tham số, tham số hiện được hiển thị.
-
Chọn một cột có kiểu dữ liệu Số Nguyên làm tham số cho hàm.
-
Chọn OK.
Kết quả
Một cột mới được tạo hiển thị giá trị Thập lục phân của cột Số Nguyên mà bạn đã nhập dưới dạng tham số.
Xem Thêm
Tạo các công thức Power Query trong Excel