=UPPER(<Text>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Text | text | Yes | ข้อความที่ต้องการแปลงเป็นตัวพิมพ์ใหญ่ สามารถใช้ค่า text โดยตรง, ฟังก์ชัน text, หรือ column reference |
ป้องกันปัญหาข้อมูลเข้ามาคละเคส เช่น abc-001 vs ABC-001
แปลงทั้งสองฝั่งเป็นเคสเดียวกันก่อนเปรียบเทียบ
รหัส (UPPER) = UPPER(Product[Code])=รหัส (UPPER) = UPPER(Product[Code])
ได้รหัสสินค้าเป็นตัวพิมพ์ใหญ่ทั้งหมด เช่น "product_001" → "PRODUCT_001"
คีย์มาตรฐาน = UPPER(TRIM(Customer[CustomerKey]))คีย์มาตรฐาน = UPPER(TRIM(Customer[CustomerKey]))
ตัดช่องว่างหัวท้ายและแปลงเป็นตัวพิมพ์ใหญ่ เช่น " john doe " → "JOHN DOE"
คำนำหน้า (UPPER) = UPPER(LEFT(Product[Code], 3))=คำนำหน้า (UPPER) = UPPER(LEFT(Product[Code], 3))
ได้ตัวอักษร 3 ตัวแรกเป็นตัวพิมพ์ใหญ่ เช่น "abc-123" → "ABC"
ไม่มี UPPER จะเปลี่ยนเฉพาะตัวอักษรเท่านั้น ตัวเลข เว้นวรรค และอักขระพิเศษเช่น “-“, “_”, “@” จะคงเดิม เช่น “test_123@email.com” จะกลายเป็น “TEST_123@EMAIL.COM”
ใช้ LOWER ฟังก์ชันนี้ทำงานตรงข้ามกับ UPPER แปลงข้อความทั้งหมดเป็นตัวพิมพ์เล็ก
ข้อมูลจากแหล่งต่างๆ มักมีช่องว่างเกินบนและล่าง (leading/trailing spaces) ซึ่งทำให้เปรียบเทียบค่า lookup ได้ผิด TRIM ตัดช่องว่างนั้นออก UPPER ทำให้รูปแบบตัวพิมพ์เหมือนกัน ทำให้ lookup ได้ถูกต้อง
ได้ แต่需慎重เพราะ UPPER ต้องทำงานที่ row context และทำให้ข้อมูลแต่ละแถวแปลงกลายเป็นตัวพิมพ์ใหญ่ อาจเหมาะสำหรับ Calculated Column มากกว่า Measure
UPPER คือฟังก์ชันแปลงข้อความที่ใช้งานง่ายสำหรับแปลงตัวอักษรใดๆ เป็นตัวพิมพ์ใหญ่ ฟังก์ชันนี้จะแปลงเฉพาะตัวอักษรเท่านั้น ตัวเลขและอักขระพิเศษจะคงเดิม
ที่เจ๋งคือ UPPER มักใช้ร่วมกับ TRIM เพื่อทำให้ข้อมูลข้อความมีรูปแบบสม่ำเสมอกำลังสำหรับการ lookup หรือ join ตัวอย่างเช่น ถ้ามีรหัสสินค้า “abc123” อยู่ด้านหนึ่ง และ “ABC123” อยู่ด้านหนึ่ง UPPER ช่วยให้เปรียบเทียบได้ถูกต้อง
ส่วนตัวผมใช้ UPPER ในงาน data cleaning บ่อยมาก เวลาข้อมูลมาจากหลายที่ที่เก็บรูปแบบตัวพิมพ์ไม่เหมือนกัน ผมจะใช้ UPPER + TRIM + SUBSTITUTE เพื่อทำให้ข้อมูลสะอาด ซึ่งช่วยหลีกเลี่ยงปัญหา duplicate row ที่เกิดจากรูปแบบตัวพิมพ์เพียงอย่างเดียว