Thep Excel

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

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

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

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
3/10

Difficulty
7/10

Usefulness
4/10

Syntax & Arguments

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

Argument Type Required Default Description
name text Yes ชื่อตัวแปรหรือฟิลด์ที่ต้องการแปลง เช่น “MyIdentifier” หรือ “My Field Name”

Examples

แปลงชื่อธรรมดาโดยไม่มีช่องว่าง
{{ Expression.Identifier("ProductName") }}
เมื่อชื่อไม่มีช่องว่างหรืออักษรพิเศษ ผลลัพธ์คือชื่อเดิม ผมใช้สำหรับคอลัมน์ที่ตั้งชื่อสะอาดๆ
Power Query Formula:

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

Result:

"ProductName"

แปลงชื่อที่มีช่องว่าง
{{ Expression.Identifier("Product Name") }}
ชื่อที่มีช่องว่างจะถูกห่อด้วย #"…" โดยอัตโนมัติ ผมเจอเรื่องแบบนี้บ่อยกับไฟล์ Excel ที่มีคอลัมน์หลายคำ
Power Query Formula:

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

Result:

"#\"Product Name\""

แปลงชื่อที่มีอักษรพิเศษ
{{ Expression.Identifier("Total $ Amount") }}
อักษรพิเศษเช่น $, %, @ ก็ต้องห่อด้วย #"…" เพื่อให้ Power Query รู้จักมัน
Power Query Formula:

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

Result:

"#\"Total $ Amount\""

ใช้ในการสร้าง Query แบบไดนามิก
let ColumnName = "Sales Amount", DynamicRef = Expression.Identifier(ColumnName) in DynamicRef
ผมใช้แบบนี้เมื่อต้องสร้าง query ที่อ้างอิงคอลัมน์จากตัวแปร ช่วยให้โค้ดยืดหยุ่นและนำกลับมาใช้ได้
Power Query Formula:

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

Result:

"#\"Sales Amount\""

FAQs

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

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

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

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

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

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

Resources & Related

Additional Notes

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *