Thep Excel

Expression.Identifierสร้างตัวแทนโค้ด M สำหรับชื่อตัวแปร

Expression.Identifier แปลงชื่อตัวแปรเป็นรูปแบบ M source code ที่ถูกต้อง โดยจัดการกับช่องว่างและอักษรพิเศษอัตโนมัติ

fx
={{ Expression.Identifier(name) as text }}

ความนิยม3/10
ความยาก7/10
ประโยชน์4/10

อัปเดต 12 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
name text ชื่อตัวแปรหรือฟิลด์ที่ต้องการแปลง เช่น “MyIdentifier” หรือ “My Field Name”

Additional Notes

Expression.Identifier ใช้แปลงชื่อตัวแปรธรรมดา (เช่น “MyIdentifier”) เป็นรูปแบบที่ Power Query เข้าใจได้ หากชื่อมีช่องว่างหรืออักษรพิเศษ มันจะจัดเรียงให้อยู่ในรูป #”…” โดยอัตโนมัติ

ที่เจ๋งคือ ผมใช้มันเวลาสร้างโค้ด M แบบไดนามิก เช่น เมื่อชื่อคอลัมน์มาจากไฟล์ Excel ที่มีช่องว่าง ฟังก์ชันนี้ช่วยให้ไม่ต้องเขียนสูตรซ้ำแบบเดิมๆ

ส่วนตัวผม ผมแนะนำให้ใช้มันในการสร้าง queries ที่ต้องการความยืดหยุ่น เช่นสร้างรายงานที่ชื่อคอลัมน์อาจเปลี่ยนแปลงตามเวลา 😎

Examples

แปลงชื่อธรรมดาโดยไม่มีช่องว่าง{{ Expression.Identifier("ProductName") }}

เมื่อชื่อไม่มีช่องว่างหรืออักษรพิเศษ ผลลัพธ์คือชื่อเดิม ผมใช้สำหรับคอลัมน์ที่ตั้งชื่อสะอาดๆ

fx
={{ Expression.Identifier("ProductName") }}

ผลลัพธ์"ProductName"
แปลงชื่อที่มีช่องว่าง{{ Expression.Identifier("Product Name") }}

ชื่อที่มีช่องว่างจะถูกห่อด้วย #"…" โดยอัตโนมัติ ผมเจอเรื่องแบบนี้บ่อยกับไฟล์ Excel ที่มีคอลัมน์หลายคำ

fx
={{ Expression.Identifier("Product Name") }}

ผลลัพธ์"#\"Product Name\""
แปลงชื่อที่มีอักษรพิเศษ{{ Expression.Identifier("Total $ Amount") }}

อักษรพิเศษเช่น $, %, @ ก็ต้องห่อด้วย #"…" เพื่อให้ Power Query รู้จักมัน

fx
={{ Expression.Identifier("Total $ Amount") }}

ผลลัพธ์"#\"Total $ Amount\""
ใช้ในการสร้าง Query แบบไดนามิกlet ColumnName = "Sales Amount", DynamicRef = Expression.Identifier(ColumnName) in DynamicRef

ผมใช้แบบนี้เมื่อต้องสร้าง query ที่อ้างอิงคอลัมน์จากตัวแปร ช่วยให้โค้ดยืดหยุ่นและนำกลับมาใช้ได้

fx
let
ColumnName = "Sales Amount",
DynamicRef = Expression.Identifier(ColumnName)
in
DynamicRef

ผลลัพธ์"#\"Sales Amount\""

FAQs

ใช้ Expression.Identifier ตรงไหน?+

ผมใช้ในเวลาสร้างโค้ด M แบบไดนามิก เช่นเมื่อชื่อคอลัมน์มาจากไฟล์ Excel หรือเมื่อต้องอ้างอิงคอลัมน์ที่มีช่องว่างและอักษรพิเศษ มันช่วยให้ Power Query รู้จักชื่อตัวแปรที่ถูกต้อง

ความแตกต่างระหว่าง #"ชื่อ" กับ Expression.Identifier คืออะไร?+

#"ชื่อ" คือเขียนตรงในโค้ด แต่ Expression.Identifier คือการแปลงชื่อจากข้อมูล (dynamic) ผมใช้ Expression.Identifier เวลาชื่อมาจากตัวแปรหรือสูตร

ถ้าชื่อมีเครื่องหมายอัญประลักษ์ (quote) จะเป็นไง?+

ผม try แล้วผม escape quotes อัตโนมัติ มันจะสร้างรูป M ที่ถูกต้อง แต่ส่วนตัวผมหลีกเลี่ยงชื่อที่มี quotes เพราะซับซ้อน

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ Expression.Identifier จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้Expression.IdentifierExpression functions
Expression functions (2)
Expression.Constant

Expression.Constant แปลงค่าใด ๆ ให้เป็นข้อความโค้ด M ที่ถูกต้องทางไวยากรณ์ ใช้เมื่อต้องสร้างโค้ด M แบบไดนามิก

Expression.Evaluate

Expression.Evaluate ใช้สำหรับประเมินผลนิพจน์ M ที่เก็บไว้เป็นข้อความ โดยสามารถระบุตัวแปรและฟังก์ชันที่ใช้ได้ในสภาพแวดล้อม ทำให้สามารถเขียนโค้ด M แบบไดนามิก

Text functions (1)
Text.From

แปลงค่าใดๆ เป็นข้อความ (Text)

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่