ฟังก์ชันแบบกําหนดเองใช้ภาษาสูตร 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