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