| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| text | Text | ข้อความที่ต้องการแปลงเป็นตัวเลข ยอมรับรูปแบบ: จำนวนเต็ม (“123”), ทศนิยม (“12.5”), สัญลักษณ์วิทยาศาสตร์ (“1e3”), วันที่ (“2020-10-23”), เวลา (“14:30:45”) |
VALUE ใช้แปลงข้อความที่เป็นตัวเลขให้กลายเป็นค่าตัวเลขจริง (decimal data type) โดยยอมรับรูปแบบต่างๆ เช่น จำนวนเต็ม ทศนิยม สัญลักษณ์วิทยาศาสตร์ วันที่ และเวลา
ที่เจ๋งคือ DAX โดยทั่วไปแล้วจะแปลงข้อความเป็นตัวเลขโดยอัตโนมัติ ดังนั้น VALUE จึงใช้ไม่บ่อยนักในงานประจำวัน แต่มันจะมีประโยชน์มากเมื่อคุณต้องการให้ชัดเจนว่ากำลังแปลงอะไร หรือเมื่อข้อมูลมีรูปแบบที่ DAX อาจไม่รู้จัก
ส่วนตัวผมแนะนำให้ใช้ VALUE เมื่อทำการแปลงคอลัมน์ข้อความที่อาจมีค่าไม่ใช่ตัวเลขซ่อนอยู่ เพื่อให้เห็นปัญหา error มากกว่าการพึ่งพาการแปลงโดยนัยที่อาจซ่อนข้อมูลเสียหาย 😎
เช่น ตัวเลขจากการนำเข้าที่ถูกตีความเป็นข้อความ
ทำให้สามารถ SUM/AVERAGE/คำนวณทางคณิตศาสตร์ได้
VALUE แปลงสตริง "123" ให้เป็นค่าตัวเลข 123 ที่สามารถนำไปคำนวณได้
เมื่อนำเข้าข้อมูลจากระบบอื่น Amount อาจเก็บเป็นข้อความ VALUE ช่วยแปลงให้เป็นตัวเลขได้ใช้งาน
หากข้อความมีช่องว่างหัวท้าย (เช่น " 45.99 ") ให้ใช้ TRIM เพื่อตัดช่องว่างออกก่อน แล้วค่อย VALUE เพื่อให้แนวทางปฏิบัติที่ดีและลดความผิดพลาด
ใช้ CATCH เพื่อจัดการข้อมูลที่อาจไม่สามารถแปลงได้ ซึ่งจะช่วยให้หลีกเลี่ยง error และแสดงค่าเริ่มต้นแทน
DAX มักแปลงอัตโนมัติสำหรับการคำนวณ แต่เมื่อคุณต้องการให้ชัดเจน หรือเมื่อข้อมูลมีรูปแบบที่ไม่จดจำ การใช้ VALUE อย่างชัดแจ้งช่วยให้มั่นใจและแสดงเจตนาของคุณในโค้ด
VALUE แปลงข้อความ → ตัวเลข (ทำให้สามารถคำนวณได้) ส่วน FORMAT แปลงตัวเลข → ข้อความ (ทำให้สวยงามสำหรับแสดงผล เช่น มีสัญลักษณ์สกุลเงิน)
VALUE จะให้ error หากแปลงไม่ได้ ควรใช้ CATCH หรือ IFERROR เพื่อจัดการข้อมูลเสียหายหรือข้อมูลที่ไม่คาดคิด
ฟังก์ชันที่ผู้เขียนโยงไว้กับ VALUE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
EXACT เปรียบเทียบ Text1 กับ Text2 แบบตรงตัวและคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ คืน TRUE เมื่อเหมือนกันทุกตัวอักษร เหมาะกับงานตรวจรหัส/ข้อความที่ต้องแยก case
FIXED แปลงตัวเลขเป็นข้อความ พร้อมกำหนดจำนวนทศนิยม และเลือกใส่/ไม่ใส่ตัวคั่นหลักพัน เหมาะกับการแสดงผลแบบรูปแบบคงที่
FORMAT ใช้แปลงค่า (ตัวเลข วันที่ เวลา) เป็น Text ตามรูปแบบที่ต้องการ เช่น แปลง 0.25 เป็น "25%" หรือ 2025-12-20 เป็น "20/12/2025" โดยสนับสนุน locale ต่างๆ
REPLACE แทนที่อักขระจำนวนหนึ่งในสตริง โดยเริ่มจากตำแหน่งที่ระบุ เหมาะกับการแก้ไขข้อความเฉพาะตำแหน่ง เช่น เปลี่ยนคำนำหน้า แทนที่ตัวเลขบางหลัก หรือซ่อนบางส่วนของข้อมูล
ฟังก์ชันทำความสะอาดข้อความ ลบช่องว่างส่วนเกินนำหน้า ท้าย และช่องว่างหลายตัวระหว่างคำ โดยคงไว้ช่องว่างเดี่ยวระหว่างคำเท่านั้น
UNICHAR รับค่าโค้ด Unicode (ฐานสิบ) และคืนอักขระที่ตรงกับโค้ดนั้น ใช้สร้างสัญลักษณ์หรืออักขระพิเศษใน Measures/Columns เพื่อเพิ่มความสื่อสารในรายงาน
CURRENCY แปลงค่าตัวเลขให้เป็นชนิด Currency โดยเก็บเลขทศนิยมเพียง 4 ตำแหน่ง เหมาะสำหรับการคำนวณค่าเงินที่ต้องความแม่นยำในการปัดเศษ
DATEVALUE แปลงข้อความวันที่ (text) ให้เป็น datetime โดยอ้างอิงตามการตั้งค่า locale ของ model เหมาะกับข้อมูลวันที่ที่เก็บเป็นข้อความและต้องแปลงเป็นวันที่จริงเพื่อการคำนวณตามเวลา
IFERROR ใช้ดักจับข้อผิดพลาดในนิพจน์: ถ้า Value เกิด error จะคืนค่า ValueIfError แทน ถ้าไม่เกิด error จะคืนค่าของ Value เดิม เหมาะสำหรับการแปลงชนิดข้อมูล การหารที่อาจเป็นศูนย์ หรือ measure ที่ไม่เสถียร
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่