ฟังก์ชันแบบกําหนดเองใช้ภาษาสูตร M ใช้ชุดของค่าป้อนเข้า แล้วส่งกลับค่าผลลัพธ์เดียว ถ้าคุณมีตรรกะที่คุณต้องการนํากลับมาใช้ซ้ําหลายครั้ง หรือนําชุดการแปลงเดียวกันไปใช้กับคิวรีหรือค่าอื่น ให้พิจารณาการสร้างฟังก์ชันแบบกําหนดเอง แล้วเรียกใช้ฟังก์ชันในตําแหน่งและเมื่อคุณต้องการ มีหลายวิธีในการสร้างฟังก์ชันแบบกําหนดเอง:
- ใช้เครื่องมือแก้ไขขั้นสูงเพื่อเพิ่มคําสั่ง let ของคุณเองและเริ่มต้นใหม่ทั้งหมด
- ใช้คําสั่ง เรียกใช้ฟังก์ชันแบบกําหนดเอง
- มีวิธีเพิ่มเติมในการสร้างฟังก์ชันที่ไม่ได้กล่าวถึงในหัวข้อวิธีใช้นี้ รวมถึงคําสั่ง สร้างฟังก์ชัน และ เพิ่มเป็นคิวรี สําหรับการอภิปรายเชิงลึก ให้ดู ทําความเข้าใจเกี่ยวกับฟังก์ชัน M Power Query (docs.com) และ การใช้ฟังก์ชันแบบกําหนดเอง (docs.com)
สร้างและเรียกใช้ฟังก์ชันแบบกําหนดเองอย่างง่ายด้วยเครื่องมือแก้ไขขั้นสูง
ต่อไปนี้เป็นตัวอย่างง่ายๆ ของฟังก์ชันแบบกําหนดเองที่เป็นไปตามประเพณีการเขียนโปรแกรมที่จัดขึ้นเป็นเวลานาน
เมื่อต้องการสร้างคิวรีเปล่า:
Excel เลือก รับ>ข้อมูลจาก>แหล่งข้อมูล>อื่นคิวรีเปล่า
Power Query คลิกขวาบนพื้นที่ว่างในบานหน้าต่าง คิวรี ทางด้านซ้าย แล้วเลือก คิวรี>ใหม่แหล่งข้อมูล>อื่นคิวรีที่ว่างเปล่า
ในบานหน้าต่าง คิวรี ทางด้านซ้าย ให้ดับเบิลคลิกที่ชื่อ แล้วเปลี่ยนชื่อคิวรีเปล่าใหม่เป็น "HelloWorld"
เลือกคิวรีใหม่ แล้วเลือก หน้าแรก>เครื่องมือแก้ไขขั้นสูง
แทนที่รหัสเริ่มต้นของเทมเพลตด้วยรหัสต่อไปนี้:
let
HelloWorld = () => ("Hello World")
in
HelloWorldเลือก เสร็จสิ้น
คุณได้เปลี่ยนคิวรี "HelloWorld" เป็นฟังก์ชันแบบกําหนดเอง ให้สังเกต
ที่ด้านซ้ายเมื่อต้องการเรียกใช้ฟังก์ชัน ให้เลือกฟังก์ชัน แล้วเลือก เรียกใช้ ในการแสดงตัวอย่างข้อมูล
ผลลัพธ์ของฟังก์ชันจะแสดงในการแสดงตัวอย่างข้อมูลและเพิ่มลงในบานหน้าต่างคิวรีเป็นคิวรีที่มีชื่อเริ่มต้นคือ ฟังก์ชัน Invoked คุณอาจต้องการเปลี่ยนชื่อเป็นชื่อที่มีความหมายมากขึ้น เช่น "HelloWorldResult"
เลือกคิวรีนั้น แล้วเลือก หน้าแรก>ปิด & โหลด เพื่อดูผลลัพธ์ในเวิร์กชีต
ผลลัพธ์
สร้างและเรียกใช้ฟังก์ชันแบบกําหนดเองที่มีพารามิเตอร์ที่มีเครื่องมือแก้ไขขั้นสูง
ตัวอย่างต่อไปนี้แสดงวิธีการส่งผ่านพารามิเตอร์ไปยังฟังก์ชันแบบกําหนดเองเพื่อแปลงตัวเลขทศนิยมเป็นเลขฐานสิบหก
เมื่อต้องการสร้างคิวรีเปล่า:
Excel เลือก รับ>ข้อมูลจาก>แหล่งข้อมูล>อื่นคิวรีเปล่า
Power Query คลิกขวาบนพื้นที่ว่างในบานหน้าต่าง คิวรี ทางด้านซ้าย แล้วเลือก คิวรี>ใหม่แหล่งข้อมูล>อื่นคิวรีที่ว่างเปล่า
ในบานหน้าต่าง คิวรี ทางด้านซ้าย ให้เปลี่ยนชื่อคิวรีเปล่าใหม่เป็น "MyHex"
เลือกคิวรีใหม่ แล้วเลือก หน้าแรก>เครื่องมือแก้ไขขั้นสูง
แทนที่รหัสเริ่มต้นของเทมเพลตด้วยรหัสต่อไปนี้:
let
MyHex = (parameter1) => Number.ToText(parameter1,"X")
in
MyHexเลือก เสร็จสิ้น
คุณได้เปลี่ยนคิวรี "MyHex" เป็นฟังก์ชันแบบกําหนดเอง ให้สังเกต
ที่ด้านซ้ายเมื่อต้องการเรียกใช้ฟังก์ชัน ให้เลือกฟังก์ชัน จากนั้นในการแสดงตัวอย่างข้อมูล ให้ใส่ตัวเลขในกล่อง พารามิเตอร์ 1 แล้วเลือก เรียกใช้
ผลลัพธ์ของฟังก์ชันจะแสดงในการแสดงตัวอย่างข้อมูลและเพิ่มลงในบานหน้าต่างคิวรีเป็นคิวรีที่มีชื่อเริ่มต้น คือ ฟังก์ชัน Invoked คุณอาจต้องการเปลี่ยนชื่อเป็นชื่อที่มีความหมายมากขึ้น เช่น "MyHexResult"
เลือกคิวรีนั้น แล้วเลือก หน้าแรก>ปิด & โหลด เพื่อดูผลลัพธ์ในเวิร์กชีต
ผลลัพธ์
เพิ่มคอลัมน์โดยเรียกใช้ฟังก์ชันแบบกําหนดเอง
ถ้าคุณได้สร้างฟังก์ชันที่มีพารามิเตอร์อย่างน้อยหนึ่งพารามิเตอร์ คุณสามารถเรียกใช้ฟังก์ชันนั้นเป็นฟังก์ชันแบบกําหนดเองเพื่อสร้างคอลัมน์ใหม่และค่าใหม่สําหรับแต่ละแถวในตารางได้
เมื่อต้องการเปิดคิวรี ให้ค้นหาคิวรีที่โหลดไว้ก่อนหน้านี้จากตัวแก้ไข Power Query เลือกเซลล์ในข้อมูล แล้วเลือกแก้ไขคิวรี> สําหรับข้อมูลเพิ่มเติม ให้ดู สร้าง แก้ไข และโหลดคิวรีใน Excel (Power Query)
หมาย เหตุ สําหรับตัวอย่างนี้ คิวรีของคุณต้องการอย่างน้อยหนึ่งคอลัมน์ของชนิดข้อมูลตัวเลขทั้งหมด
สร้างฟังก์ชันแบบกําหนดเอง "MyHex" ตามที่อธิบายไว้ในส่วน สร้าง และเรียกใช้ฟังก์ชันแบบกําหนดเองที่มีพารามิเตอร์ที่มีเครื่องมือแก้ไขขั้นสูง
ในคิวรี ให้เลือก เพิ่มคอลัมน์>เรียกใช้ฟังก์ชันแบบกําหนดเอง กล่องโต้ตอบ เรียกใช้ฟังก์ชันแบบกําหนดเอง จะปรากฏขึ้น
ใส่ชื่อคอลัมน์ใหม่ เช่น "HexConvert" ในกล่อง ชื่อคอลัมน์ใหม่
เลือกชื่อของฟังก์ชันแบบกําหนดเองที่กําหนดไว้ล่วงหน้าจากรายการดรอปดาวน์คิวรีฟังก์ชัน ในตัวอย่างนี้ เลือก "MyHex"
เนื่องจากฟังก์ชันแบบกําหนดเองอ้างอิงพารามิเตอร์ จึงแสดงพารามิเตอร์
เลือกคอลัมน์ของชนิดข้อมูล ตัวเลขทั้งหมด เป็นพารามิเตอร์ของฟังก์ชัน
เลือก ตกลง
ผลลัพธ์
คอลัมน์ใหม่จะถูกสร้างขึ้นที่แสดงค่าเลขฐานสิบหกของคอลัมน์จํานวนเต็มที่คุณใส่เป็นพารามิเตอร์
ดูเพิ่มเติม
ความช่วยเหลือ Power Query สำหรับ Excel
สร้างสูตร Power Query ใน Excel