ฟังก์ชันแบบกําหนดเองใช้ภาษาสูตร M รับชุดของค่าที่ป้อนเข้า แล้วส่งกลับค่าผลลัพธ์หนึ่งค่า ถ้าคุณมีตรรกะที่คุณต้องการนํามาใช้ใหม่หลายครั้งหรือนําการแปลงชุดเดียวกันไปใช้กับคิวรีหรือค่าอื่น ให้พิจารณาการสร้างฟังก์ชันแบบกําหนดเอง แล้วเรียกฟังก์ชันตรงตําแหน่งและเวลาที่คุณต้องการ มีหลายวิธีในการสร้างฟังก์ชันแบบกําหนดเอง ดังนี้
- ใช้เครื่องมือแก้ไขขั้นสูงเพื่อเพิ่มคําสั่ง LET ของคุณเองและเริ่มใหม่ตั้งแต่ต้น
- ใช้คําสั่ง เรียกใช้ฟังก์ชันแบบกําหนดเอง
- มีวิธีเพิ่มเติมในการสร้างฟังก์ชันที่ไม่ได้กล่าวถึงในหัวข้อวิธีใช้นี้ รวมถึงคําสั่ง สร้างฟังก์ชัน และ เพิ่มเป็นคิวรี สําหรับการอภิปรายเชิงลึก ให้ดูที่ การทําความเข้าใจฟังก์ชัน Power Query M (docs.com) และ การใช้ฟังก์ชันแบบกําหนดเอง (docs.com)
สร้างและเรียกใช้ฟังก์ชันแบบกําหนดเองอย่างง่ายด้วยตัวเครื่องมือแก้ไขขั้นสูง
ต่อไปนี้เป็นตัวอย่างง่ายๆ ของฟังก์ชันแบบกําหนดเองที่ทําตามประเพณีการเขียนโปรแกรมที่มีมาอย่างยาวนาน
เมื่อต้องการสร้างคิวรีเปล่า ให้ทําดังนี้
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 และเลือก เรียก
ผลลัพธ์ของฟังก์ชันจะแสดงในการแสดงตัวอย่างข้อมูล และถูกเพิ่มไปยังบานหน้าต่างคิวรีเป็นคิวรีที่มีชื่อเริ่มต้น นั่นคือฟังก์ชันที่เรียกใช้ คุณอาจต้องการเปลี่ยนชื่อเป็นอย่างอื่นที่มีความหมายมากขึ้น เช่น "MyHexResult"
เลือกคิวรีนั้น แล้วเลือก หน้าแรก>ปิด & โหลด เพื่อดูผลลัพธ์ในเวิร์กชีต
ผลลัพธ์
เพิ่มคอลัมน์โดยเรียกฟังก์ชันแบบกําหนดเอง
ถ้าคุณได้สร้างฟังก์ชันที่มีพารามิเตอร์อย่างน้อยหนึ่งพารามิเตอร์ คุณสามารถเรียกใช้เป็นฟังก์ชันแบบกําหนดเองเพื่อสร้างคอลัมน์ใหม่และค่าใหม่สําหรับแต่ละแถวในตารางได้
เมื่อต้องการเปิดแบบสอบถาม ให้ค้นหาคิวรีที่โหลดไว้ก่อนหน้านี้จากตัวแก้ไข Power Query เลือกเซลล์ในข้อมูล แล้วเลือกแก้ไขคิวรี> สําหรับข้อมูลเพิ่มเติม ให้ดูที่ สร้าง แก้ไข และโหลดคิวรีใน Excel (Power Query)
หมายเหตุ สําหรับตัวอย่างนี้ คิวรีของคุณต้องมีคอลัมน์อย่างน้อยหนึ่งคอลัมน์ของชนิดข้อมูลตัวเลขทั้งหมด
สร้างฟังก์ชันแบบกําหนดเอง "MyHex" ตามที่อธิบายไว้ในส่วน สร้างและเรียกใช้ฟังก์ชันแบบกําหนดเองที่มีพารามิเตอร์ด้วยตัวแก้ไขเครื่องมือแก้ไขขั้นสูง
ในคิวรี ให้เลือกเพิ่มคอลัมน์>เรียกใช้ฟังก์ชันแบบกําหนดเอง กล่องโต้ตอบ เรียกใช้ฟังก์ชันแบบกําหนดเอง จะปรากฏขึ้น
ป้อนชื่อคอลัมน์ใหม่ เช่น "HexConvert" ในกล่องชื่อคอลัมน์ใหม่
เลือกชื่อของฟังก์ชันแบบกําหนดเองที่กําหนดไว้ล่วงหน้าจากเมนูดรอปดาวน์ของคิวรีฟังก์ชัน ในตัวอย่างนี้ ให้เลือก "MyHex"
เนื่องจากฟังก์ชันแบบกําหนดเองอ้างอิงพารามิเตอร์ พารามิเตอร์จะแสดงขึ้นในตอนนี้
เลือกคอลัมน์ของชนิดข้อมูล จํานวนเต็ม เป็นพารามิเตอร์ของฟังก์ชัน
เลือก ตกลง
ผลลัพธ์
สร้างคอลัมน์ใหม่ที่แสดงค่าฐานสิบหกของคอลัมน์ ตัวเลขทั้งหมด ที่คุณใส่เป็นพารามิเตอร์
ดูเพิ่มเติม
ความช่วยเหลือ Power Query สำหรับ Excel
สร้างสูตร Power Query ใน Excel