=VALUE(<text>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| text | Text | Yes | ข้อความที่ต้องการแปลงเป็นตัวเลข ยอมรับรูปแบบ: จำนวนเต็ม (“123”), ทศนิยม (“12.5”), สัญลักษณ์วิทยาศาสตร์ (“1e3”), วันที่ (“2020-10-23”), เวลา (“14:30:45”) |
เช่น ตัวเลขจากการนำเข้าที่ถูกตีความเป็นข้อความ
ทำให้สามารถ SUM/AVERAGE/คำนวณทางคณิตศาสตร์ได้
VALUE("123")= VALUE("123")
123 (เป็นตัวเลข decimal)
Amount (Numeric) = VALUE(Transactions[AmountText])=Amount (Numeric) =
VALUE(Transactions[AmountText])
คอลัมน์ของค่าตัวเลข decimal พร้อมใช้สำหรับการบวก ลบ คูณ หาร
Total Amount = VAR CleanedAmount = TRIM(Sales[PriceText]) RETURN VALUE(CleanedAmount)Total Amount =
VAR CleanedAmount = TRIM(Sales[PriceText])
RETURN
VALUE(CleanedAmount)
ค่าตัวเลขที่ถูกสะอาด แม้ว่าข้อมูลต้นฉบับมีช่องว่างหัวท้าย
Safe Conversion = IF( CATCH(VALUE(Data[Text])) BLANK(), VALUE(Data[Text]), 0 )Safe Conversion =
IF(
CATCH(VALUE(Data[Text])) <> BLANK(),
VALUE(Data[Text]),
0
)
ค่าตัวเลขหากเป็นตัวเลขจริง หรือ 0 หากแปลงไม่ได้
DAX มักแปลงอัตโนมัติสำหรับการคำนวณ แต่เมื่อคุณต้องการให้ชัดเจน หรือเมื่อข้อมูลมีรูปแบบที่ไม่จดจำ การใช้ VALUE อย่างชัดแจ้งช่วยให้มั่นใจและแสดงเจตนาของคุณในโค้ด
VALUE แปลงข้อความ → ตัวเลข (ทำให้สามารถคำนวณได้) ส่วน FORMAT แปลงตัวเลข → ข้อความ (ทำให้สวยงามสำหรับแสดงผล เช่น มีสัญลักษณ์สกุลเงิน)
VALUE จะให้ error หากแปลงไม่ได้ ควรใช้ CATCH หรือ IFERROR เพื่อจัดการข้อมูลเสียหายหรือข้อมูลที่ไม่คาดคิด
VALUE ใช้แปลงข้อความที่เป็นตัวเลขให้กลายเป็นค่าตัวเลขจริง (decimal data type) โดยยอมรับรูปแบบต่างๆ เช่น จำนวนเต็ม ทศนิยม สัญลักษณ์วิทยาศาสตร์ วันที่ และเวลา
ที่เจ๋งคือ DAX โดยทั่วไปแล้วจะแปลงข้อความเป็นตัวเลขโดยอัตโนมัติ ดังนั้น VALUE จึงใช้ไม่บ่อยนักในงานประจำวัน แต่มันจะมีประโยชน์มากเมื่อคุณต้องการให้ชัดเจนว่ากำลังแปลงอะไร หรือเมื่อข้อมูลมีรูปแบบที่ DAX อาจไม่รู้จัก
ส่วนตัวผมแนะนำให้ใช้ VALUE เมื่อทำการแปลงคอลัมน์ข้อความที่อาจมีค่าไม่ใช่ตัวเลขซ่อนอยู่ เพื่อให้เห็นปัญหา error มากกว่าการพึ่งพาการแปลงโดยนัยที่อาจซ่อนข้อมูลเสียหาย 😎