Hàm tùy chỉnh sử dụng ngôn ngữ công thức M, nhận một 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 bộ 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 ở vị trí và thời điểm bạn cần. Có một vài cách để tạo hàm tùy chỉnh:
-
Sử dụng Trình soạn thảo Nâng cao để thêm câu lệnh let của riêng bạn và bắt đầu từ đầu.
-
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 Tìm hiểu về các hàm M trong Power Query (docs.com)và Dùng hàm tùy chỉnh (docs.com).
Sau đây là một ví dụ đơn giản về hàm tùy chỉnh tuân theo truyền thống lập trình được tổ chức lâu dài.
-
Để tạo một truy vấn trống: Hãy Excel Chọn Truy vấn> Lấy Dữ > Dữ liệu Từ Nguồn Khác
> Vấn Trống. Power Query Bấm chuột phải vào điểm 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 > 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 > soạn thảo 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 hàm ở bên trái.
-
Để 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ị ở chế độ 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 Invoked. 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 chuyển tham số sang hàm tùy chỉnh để chuyển đổi một số thập phân thành thập lục phân.
-
Để tạo một truy vấn trống: Hãy Excel Chọn Truy vấn> Lấy Dữ > Dữ liệu Từ Nguồn Khác
> Vấn Trống. Power Query Bấm chuột phải vào điểm 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 > 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 > soạn thảo 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 hàm ở bên trái.
-
Để gọi hàm, hãy chọn hàm đó, rồi trong Xem trước Dữ liệu, nhập một số vào hộp tham số 1 và chọn Gọi.
-
Kết quả của hàm được hiển thị ở chế độ 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 Invoked. 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 với ít nhất một tham số, bạn có thể gọi hàm đó là một 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ở một truy vấn, hãy định vị một 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 Tạo, chỉnh sửa và tải truy vấn trong Excel (Power Query). Lưu ý Ví dụ: truy vấn của bạn cần ít nhất một cột chứa kiểu dữ liệu Số Nguyên.
-
Tạo hàm tùy chỉnh "MyHex" như giải thích trong phần, Tạo và gọi ra hàm tùy chỉnh có tham số bằng Trình soạn thảo 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" vào hộp Tên cột mới.
-
Chọn tên 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ố nên tham số hiện được hiển thị.
-
Chọn một cột thuộ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 ra hiển thị giá trị Thập lục phân của cột Số Nguyên mà bạn đã nhập làm tham số.
Xem Thêm
Tạo công thức Power Query trong Excel