Thep Excel

DAX · Text

UPPERแปลงข้อความเป็นตัวพิมพ์ใหญ่ทั้งหมด

UPPER แปลงข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด ใช้บ่อยเพื่อปรับปรุงคุณภาพข้อมูลและทำให้การเปรียบเทียบข้อความแม่นยำ

fx
=UPPER(<Text>)

ความนิยม6/10
ความยาก2/10
ประโยชน์6/10

อัปเดต 13 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
Text text ข้อความที่ต้องการแปลงเป็นตัวพิมพ์ใหญ่ สามารถใช้ค่า text โดยตรง, ฟังก์ชัน text, หรือ column reference

Additional Notes

UPPER คือฟังก์ชันแปลงข้อความที่ใช้งานง่ายสำหรับแปลงตัวอักษรใดๆ เป็นตัวพิมพ์ใหญ่ ฟังก์ชันนี้จะแปลงเฉพาะตัวอักษรเท่านั้น ตัวเลขและอักขระพิเศษจะคงเดิม

ที่เจ๋งคือ UPPER มักใช้ร่วมกับ TRIM เพื่อทำให้ข้อมูลข้อความมีรูปแบบสม่ำเสมอกำลังสำหรับการ lookup หรือ join ตัวอย่างเช่น ถ้ามีรหัสสินค้า “abc123” อยู่ด้านหนึ่ง และ “ABC123” อยู่ด้านหนึ่ง UPPER ช่วยให้เปรียบเทียบได้ถูกต้อง

ส่วนตัวผมใช้ UPPER ในงาน data cleaning บ่อยมาก เวลาข้อมูลมาจากหลายที่ที่เก็บรูปแบบตัวพิมพ์ไม่เหมือนกัน ผมจะใช้ UPPER + TRIM + SUBSTITUTE เพื่อทำให้ข้อมูลสะอาด ซึ่งช่วยหลีกเลี่ยงปัญหา duplicate row ที่เกิดจากรูปแบบตัวพิมพ์เพียงอย่างเดียว

How it works

ทำให้รหัส/คีย์เป็นรูปแบบเดียวกัน

ป้องกันปัญหาข้อมูลเข้ามาคละเคส เช่น abc-001 vs ABC-001

เตรียมข้อความสำหรับการจับคู่

แปลงทั้งสองฝั่งเป็นเคสเดียวกันก่อนเปรียบเทียบ

Examples

ตัวอย่างที่ 1: แปลงรหัสสินค้าให้เป็นตัวพิมพ์ใหญ่รหัส (UPPER) = UPPER(Product[Code])

ใช้ใน Calculated Column เพื่อทำให้รหัสสินค้าอยู่ในรูปแบบเดียวกัน ช่วยในการจับคู่ข้อมูลและการค้นหา

fx
=รหัส (UPPER) = UPPER(Product[Code])

ผลลัพธ์ได้รหัสสินค้าเป็นตัวพิมพ์ใหญ่ทั้งหมด เช่น "product_001" → "PRODUCT_001"
ตัวอย่างที่ 2: ทำความสะอาดร่วมกับ TRIMคีย์มาตรฐาน = UPPER(TRIM(Customer[CustomerKey]))

TRIM จะตัดช่องว่างอื่นๆ ออก แล้ว UPPER แปลงเป็นตัวพิมพ์ใหญ่ ลำดับสำคัญมากตรงนี้เพราะ UPPER ต้องทำงานหลังจาก TRIM เสร็จแล้ว

fx
คีย์มาตรฐาน = UPPER(TRIM(Customer[CustomerKey]))

ผลลัพธ์ตัดช่องว่างหัวท้ายและแปลงเป็นตัวพิมพ์ใหญ่ เช่น " john doe " → "JOHN DOE"
ตัวอย่างที่ 3: ใช้ร่วมกับ LEFT เพื่อแปลงตัวอักษรแรกบางตัวคำนำหน้า (UPPER) = UPPER(LEFT(Product[Code], 3))

ใช้เมื่อรหัสมีส่วนที่ต้องการให้เป็นมาตรฐาน เหมาะสำหรับการ categorize หรือ group by

fx
=คำนำหน้า (UPPER) = UPPER(LEFT(Product[Code], 3))

ผลลัพธ์ได้ตัวอักษร 3 ตัวแรกเป็นตัวพิมพ์ใหญ่ เช่น "abc-123" → "ABC"

FAQs

UPPER มีผลกับตัวเลขหรืออักขระพิเศษไหม?+

ไม่มี UPPER จะเปลี่ยนเฉพาะตัวอักษรเท่านั้น ตัวเลข เว้นวรรค และอักขระพิเศษเช่น "-", "_", "@" จะคงเดิม เช่น "test_123@email.com" จะกลายเป็น "TEST_123@EMAIL.COM"

ถ้าต้องการแปลงเป็นตัวพิมพ์เล็กใช้ฟังก์ชันอะไร?+

ใช้ LOWER ฟังก์ชันนี้ทำงานตรงข้ามกับ UPPER แปลงข้อความทั้งหมดเป็นตัวพิมพ์เล็ก

เพราะเหตุใดจึงต้อง UPPER + TRIM ร่วมกัน?+

ข้อมูลจากแหล่งต่างๆ มักมีช่องว่างเกินบนและล่าง (leading/trailing spaces) ซึ่งทำให้เปรียบเทียบค่า lookup ได้ผิด TRIM ตัดช่องว่างนั้นออก UPPER ทำให้รูปแบบตัวพิมพ์เหมือนกัน ทำให้ lookup ได้ถูกต้อง

UPPER ทำงานใน Measure ได้ไหม?+

ได้ แต่需慎重เพราะ UPPER ต้องทำงานที่ row context และทำให้ข้อมูลแต่ละแถวแปลงกลายเป็นตัวพิมพ์ใหญ่ อาจเหมาะสำหรับ Calculated Column มากกว่า Measure

Resources & Related

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

ฟังก์ชันนี้UPPERText
Text (10)
CONCATENATE

CONCATENATE ต่อข้อความ 2 ค่าให้เป็นสตริงเดียว เหมาะกับการทำ label หรือรวมข้อความจาก 2 แหล่งในบริบทปัจจุบัน

EXACT

EXACT เปรียบเทียบ Text1 กับ Text2 แบบตรงตัวและคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ คืน TRUE เมื่อเหมือนกันทุกตัวอักษร เหมาะกับงานตรวจรหัส/ข้อความที่ต้องแยก case

LEFT

LEFT คืนค่าตัวอักษรจำนวนหนึ่งจากจุดเริ่มต้นของข้อความ ใช้ได้กับ Calculated Column โดยจะประมวลผลภาษาต่างๆ (Unicode) อย่างเดียวกัน

LEN (DAX)

LEN นับจำนวนอักขระของสตริง รวมช่องว่างด้วย ใช้สำหรับตรวจสอบความยาวข้อมูล การทำความสะอาด และงานเงื่อนไขตามความยาวข้อความ

LOWER

LOWER แปลงข้อความให้เป็นตัวพิมพ์เล็กทั้งหมด มีประโยชน์มากสำหรับการทำความสะอาดข้อมูลและแก้ปัญหาคีย์ไม่ตรงกันเพราะเหตุคำต่างชั้นอักษร

MID

MID คืนสตริงย่อยจากข้อความ โดยเริ่มที่ StartNum (เริ่มนับที่ 1) และดึง NumChars ตัว ใช้บ่อยในการแยก/ตัดข้อความร่วมกับ LEFT/RIGHT/FIND/SEARCH

RIGHT

RIGHT คืนค่าตัวอักษรจำนวนหนึ่งจากจุดสิ้นสุดของข้อความ (ด้านขวา) ตามจำนวนที่ระบุ

SEARCH

SEARCH คืนค่าตำแหน่งเริ่มต้นของข้อความที่ค้นหา (ค้นหาแบบไม่สนตัวพิมพ์) หากไม่พบจะเกิดข้อผิดพลาด สามารถใช้กับ IFERROR หรือ COALESCE เพื่อจัดการกรณีไม่พบ

SUBSTITUTE

SUBSTITUTE ค้นหาและแทนที่ข้อความในสตริง สามารถแทนที่ทุกครั้งหรือเพียงครั้งที่ n เหมาะกับการปรับรูปแบบและทำความสะอาดข้อมูลโดยตรวจสอบเนื้อหา ไม่ใช่ตำแหน่ง

TRIM

ฟังก์ชันทำความสะอาดข้อความ ลบช่องว่างส่วนเกินนำหน้า ท้าย และช่องว่างหลายตัวระหว่างคำ โดยคงไว้ช่องว่างเดี่ยวระหว่างคำเท่านั้น

Comments

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