ชนิดข้อมูลในตัวแบบข้อมูล

นำไปใช้กับ
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

ในตัวแบบข้อมูล แต่ละคอลัมน์จะมีชนิดข้อมูลที่สัมพันธ์กันที่ระบุชนิดของข้อมูลที่คอลัมน์สามารถมีได้ ได้แก่ จํานวนเต็ม ตัวเลขทศนิยม ข้อความ ข้อมูลทางการเงิน วันที่และเวลา และอื่นๆ ชนิดข้อมูลยังกําหนดชนิดของการดําเนินการที่คุณสามารถทําได้ในคอลัมน์ และจํานวนหน่วยความจําที่ใช้เพื่อจัดเก็บค่าในคอลัมน์

ถ้าคุณกําลังใช้ Add-in Power Pivot คุณสามารถเปลี่ยนชนิดข้อมูลของคอลัมน์ได้ คุณอาจจําเป็นต้องทําเช่นนี้ถ้าคอลัมน์วันที่ถูกนําเข้าเป็นสตริง แต่คุณต้องการให้เป็นอย่างอื่น สําหรับข้อมูลเพิ่มเติม ให้ดู ตั้งค่าชนิดข้อมูลของคอลัมน์ ใน Power Pivot

ในบทความนี้

สรุปชนิดข้อมูล

ตารางต่อไปนี้แสดงรายการชนิดข้อมูลที่ได้รับการสนับสนุนในตัวแบบข้อมูล เมื่อคุณนําเข้าข้อมูลหรือใช้ค่าในสูตร แม้ว่าแหล่งข้อมูลต้นฉบับจะมีชนิดข้อมูลที่แตกต่างกัน ข้อมูลจะถูกแปลงเป็นชนิดข้อมูลใดชนิดข้อมูลหนึ่งต่อไปนี้ ค่าที่เป็นผลลัพธ์จากสูตรจะใช้ชนิดข้อมูลเหล่านี้ด้วย

ชนิดข้อมูลใน Excel ชนิดข้อมูลใน DAX คำอธิบาย
จํานวนเต็ม ค่าจํานวนเต็ม 1, 2 บิต (แปดไบต์) 64 บิต ตัวเลขที่ไม่มีตําแหน่งทศนิยม จํานวนเต็มอาจเป็นจํานวนบวกหรือจํานวนลบ แต่ต้องเป็นจํานวนเต็มระหว่าง -9,223,372,036,854,775,808 (-2^63) และ 9,223,372,036,854,775,807 (2^63-1)
ตัวเลขทศนิยม จํานวนจริง 64 บิต (แปดไบต์) 1, 2 จํานวนจริงคือตัวเลขที่สามารถมีตําแหน่งทศนิยมได้ ตัวเลขจริงครอบคลุมค่าต่างๆ มากมาย:
ค่าลบจาก -1.79E +308 ถึง -2.23E -308
ศูนย์
ค่าบวกจาก 2.23E -308 ถึง 1.79E + 308
อย่างไรก็ตาม จํานวนเลขนัยสําคัญจะจํากัดไว้ที่ 15 ตําแหน่ง
TRUE/FALSE บูลีน ค่า True หรือ False อย่างใดอย่างหนึ่ง
ข้อความ สตริง สตริงข้อมูลอักขระ Unicode สามารถเป็นสตริง ตัวเลข หรือวันที่ที่แสดงในรูปแบบข้อความ
ความยาวสตริงสูงสุดคืออักขระ Unicode 268,435,456 อักขระ (256 ล้านอักขระ) หรือ 536,870,912 ไบต์
วันที่ วันที่/เวลา วันที่และเวลาในการแสดงวันที่และเวลาที่ยอมรับ
วันที่ที่ถูกต้องคือวันที่ทั้งหมดหลังจากวันที่ 1 มกราคม 1900
สกุลเงิน สกุลเงิน ชนิดข้อมูลสกุลเงินอนุญาตให้มีค่าระหว่าง -922,337,203,685,477.5808 ถึง 922,337,203,685,477.5807 ที่มีทศนิยมสี่หลักที่มีความแม่นยําคงที่
N/A ว่าง ค่าว่างคือชนิดข้อมูลใน DAX ที่แสดงแทนและแทนที่ SQL Nulls คุณสามารถสร้างช่องว่างโดยใช้ฟังก์ชัน BLANK และทดสอบช่องว่างโดยใช้ฟังก์ชันตรรกะ ISBLANK

1 สูตร DAX ไม่สนับสนุนชนิดข้อมูลที่เล็กกว่าที่แสดงในตาราง

2 ถ้าคุณพยายามนําเข้าข้อมูลที่มีค่าตัวเลขขนาดใหญ่มาก การนําเข้าอาจล้มเหลวโดยมีข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาดฐานข้อมูลในหน่วยความจํา: คอลัมน์ '<ชื่อ>คอลัมน์' ของตาราง '<ชื่อ>ตาราง' มีค่า '1.7976931348623157e+308' ซึ่งไม่ได้รับการสนับสนุน การดําเนินการถูกยกเลิกแล้ว

ข้อผิดพลาดนี้เกิดขึ้นเนื่องจาก Power Pivot ใช้ค่านั้นเพื่อแทนค่า Null ค่าในรายการต่อไปนี้เป็นคําเหมือนสําหรับค่า Null:

ค่า
9223372036854775807
-9223372036854775808
1.7976931348623158e+308
2.2250738585072014e-308

เอาค่าออกจากข้อมูลของคุณ แล้วลองนําเข้าอีกครั้ง

ชนิดข้อมูลตาราง

DAX ใช้ชนิดข้อมูลตารางในหลายฟังก์ชัน เช่น การรวมและการคํานวณตัวแสดงเวลา บางฟังก์ชันจําเป็นต้องมีการอ้างอิงไปยังตาราง ฟังก์ชันอื่นๆ จะส่งกลับตารางที่สามารถใช้เป็นข้อมูลป้อนเข้าไปยังฟังก์ชันอื่นได้ ในบางฟังก์ชันที่ต้องใช้ตารางเป็นข้อมูลป้อนเข้า คุณสามารถระบุนิพจน์ที่ประเมินเป็นตาราง ได้ สําหรับฟังก์ชันบางอย่าง จําเป็นต้องมีการอ้างอิงถึงตารางพื้นฐาน สําหรับข้อมูลเกี่ยวกับความต้องการของฟังก์ชันเฉพาะ ให้ดูที่ การอ้างอิงฟังก์ชัน DAX

การแปลงชนิดข้อมูลโดยนัยและชัดแจ้งในสูตร DAX

แต่ละฟังก์ชัน DAX มีข้อกําหนดเฉพาะเกี่ยวกับชนิดของข้อมูลที่ใช้เป็นอินพุตและผลลัพธ์ ตัวอย่างเช่น ฟังก์ชันบางฟังก์ชันต้องการจํานวนเต็มสําหรับบางอาร์กิวเมนต์และวันที่สําหรับฟังก์ชันอื่นๆ ฟังก์ชันอื่นๆ ต้องใช้ข้อความหรือตาราง

ถ้าข้อมูลในคอลัมน์ที่คุณระบุเป็นอาร์กิวเมนต์เข้ากันไม่ได้กับชนิดข้อมูลที่ฟังก์ชันต้องการ DAX ในหลายกรณีจะส่งกลับข้อผิดพลาด อย่างไรก็ตาม ทุกที่ที่เป็นไปได้ DAX จะพยายามแปลงข้อมูลเป็นชนิดข้อมูลที่จําเป็นโดยนัย ตัวอย่างเช่น

  • คุณสามารถพิมพ์วันที่เป็นสตริง และ DAX จะแยกวิเคราะห์สตริงและพยายามแคสต์เป็นรูปแบบวันที่และเวลาของ Windows รูปแบบใดรูปแบบหนึ่ง
  • คุณสามารถเพิ่ม TRUE + 1 และได้ผลลัพธ์เป็น 2 เนื่องจาก TRUE จะถูกแปลงโดยนัยเป็นตัวเลข 1 และจะดําเนินการ 1+1
  • ถ้าคุณเพิ่มค่าในสองคอลัมน์ และค่าหนึ่งค่าถูกแสดงเป็นข้อความ ("12") และอีกค่าหนึ่งเป็นตัวเลข (12) DAX จะแปลงสตริงเป็นตัวเลขโดยนัย แล้วทําการบวกสําหรับผลลัพธ์ที่เป็นตัวเลข นิพจน์ต่อไปนี้ส่งกลับค่า 44: = "22" + 22
  • ถ้าคุณพยายามเรียงตัวเลขสองตัวเข้าด้วยกัน Excel จะแสดงเป็นสตริง แล้วเรียงต่อกัน นิพจน์ต่อไปนี้ส่งกลับ "1234": = 12 & 34

ตารางต่อไปนี้สรุปการแปลงชนิดข้อมูลโดยนัยที่ดําเนินการในสูตร Excel จะแปลงโดยนัยทุกครั้งที่เป็นไปได้ ตามที่กําหนดโดยการดําเนินการที่ระบุ

ตารางการแปลงข้อมูลโดยนัย

ชนิดของการแปลงที่ดําเนินการจะถูกกําหนดโดยตัวดําเนินการ ซึ่งแคสต์ค่าที่ต้องใช้ก่อนที่จะดําเนินการที่ร้องขอ ตารางเหล่านี้แสดงรายการตัวดําเนินการ และระบุการแปลงที่จะดําเนินการกับชนิดข้อมูลแต่ละชนิดในคอลัมน์เมื่อมีการจับคู่กับชนิดข้อมูลในแถวที่ตัดกัน

หมายเหตุ

ชนิดข้อมูลข้อความจะไม่รวมอยู่ในตารางเหล่านี้ เมื่อตัวเลขถูกแสดงเป็นรูปแบบข้อความ ในบางกรณี Power Pivot จะพยายามกําหนดชนิดตัวเลขและแสดงเป็นตัวเลข

การบวก (+)

ตัวดําเนินการ (+) INTEGER CURRENCY REAL วันที่/เวลา
INTEGER INTEGER CURRENCY REAL วันที่/เวลา
CURRENCY CURRENCY CURRENCY REAL วันที่/เวลา
REAL REAL REAL REAL วันที่/เวลา
วันที่/เวลา วันที่/เวลา วันที่/เวลา วันที่/เวลา วันที่/เวลา

ตัวอย่างเช่น ถ้าจํานวนจริงถูกใช้ในการดําเนินการบวกร่วมกับข้อมูลสกุลเงิน ค่าทั้งสองจะถูกแปลงเป็น REAL และผลลัพธ์จะถูกส่งกลับเป็น REAL

การลบ (-)

ในตารางต่อไปนี้ ส่วนหัวของแถวจะเป็นเครื่องหมายลบ (ด้านซ้าย) และส่วนหัวของคอลัมน์เป็นการลบ (ด้านขวา)

ตัวดําเนินการ (-) INTEGER CURRENCY REAL วันที่/เวลา
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
วันที่/เวลา วันที่/เวลา วันที่/เวลา วันที่/เวลา วันที่/เวลา

ตัวอย่างเช่น ถ้าวันที่ถูกใช้ในการดําเนินการลบกับชนิดข้อมูลอื่น ค่าทั้งสองจะถูกแปลงเป็นวันที่ และค่าที่ส่งกลับจะเป็นวันที่ด้วย

หมายเหตุ

ตัวแบบข้อมูลยังสนับสนุนตัวดําเนินการ Unary ( (ค่าลบ) ด้วย แต่ตัวดําเนินการนี้จะไม่เปลี่ยนชนิดข้อมูลของตัวถูกดําเนินการ

การคูณ (*)

ตัวดําเนินการ (*) INTEGER CURRENCY REAL วันที่/เวลา
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

ตัวอย่างเช่น ถ้าจํานวนเต็มรวมกับจํานวนจริงในการดําเนินการคูณ ตัวเลขทั้งสองจะถูกแปลงเป็นจํานวนจริง และค่าที่ส่งกลับจะเป็น REAL ด้วย

ฝ่าย (/)

ในตารางต่อไปนี้ ส่วนหัวของแถวเป็นตัวเศษ และส่วนหัวของคอลัมน์เป็นตัวส่วน

ตัวดําเนินการ (/)
(แถว/คอลัมน์)
INTEGER CURRENCY REAL วันที่/เวลา
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
วันที่/เวลา REAL REAL REAL REAL

ตัวอย่างเช่น ถ้าจํานวนเต็มรวมกับค่าสกุลเงินในการดําเนินการหาร ค่าทั้งสองจะถูกแปลงเป็นจํานวนจริง และผลลัพธ์จะเป็นจํานวนจริงด้วย

ตัวดำเนินการเปรียบเทียบ

ในนิพจน์การเปรียบเทียบ ค่าบูลีนจะถือว่ามากกว่าค่าสตริงและค่าสตริงจะถือว่ามากกว่าค่าตัวเลขหรือค่าวันที่/เวลา ตัวเลขและค่าวันที่/เวลาจะถือว่ามีลําดับเดียวกัน ไม่มีการแปลงโดยนัยสําหรับค่าบูลีนหรือสตริง BLANK หรือค่าว่างจะถูกแปลงเป็น 0/""/false ขึ้นอยู่กับชนิดข้อมูลของค่าที่เปรียบเทียบอื่นๆ

นิพจน์ DAX ต่อไปนี้แสดงลักษณะการทํางานนี้:

=IF(FALSE()>"true","Expression is true", "Expression is false") ส่งกลับค่า "Expression is true"

=IF("12">12,"นิพจน์เป็นจริง", "นิพจน์เป็นเท็จ") ส่งกลับ "นิพจน์เป็นจริง"

=IF("12"=12,"นิพจน์เป็นจริง", "นิพจน์เป็นเท็จ") ส่งกลับ "นิพจน์เป็นเท็จ"

การแปลงจะดําเนินการโดยนัยสําหรับชนิดตัวเลขหรือวันที่/เวลาตามที่อธิบายไว้ในตารางต่อไปนี้:

ตัวดําเนินการเปรียบเทียบ INTEGER CURRENCY REAL วันที่/เวลา
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
วันที่/เวลา REAL REAL REAL วันที่/เวลา

ด้านบนของหน้า

การจัดการค่าว่าง สตริงว่าง และค่าศูนย์

ใน DAX ค่า Null ค่าว่าง เซลล์ว่าง หรือค่าที่หายไปทั้งหมดจะแสดงด้วยชนิดค่าใหม่เดียวกัน ว่างเปล่า คุณยังสามารถสร้างช่องว่างโดยใช้ฟังก์ชัน BLANK หรือทดสอบช่องว่างโดยใช้ฟังก์ชัน ISBLANK

วิธีที่ช่องว่างถูกจัดการในการดําเนินการ เช่น การบวกหรือการเรียงต่อกัน จะขึ้นอยู่กับแต่ละฟังก์ชัน ตารางต่อไปนี้สรุปความแตกต่างระหว่างสูตร DAX และสูตร Microsoft Excel ในลักษณะการจัดการช่องว่าง

Expression Dax Excel
ว่าง + ว่าง ว่าง เปล่า 0 (ศูนย์)
ว่าง +5 5 5
ว่าง * 5 ว่าง เปล่า 0 (ศูนย์)
5/ว่าง อินฟินิตี้ ข้อผิดพลาด
0/ว่าง น่าน ข้อผิดพลาด
ว่าง/ว่าง ว่าง เปล่า ข้อผิดพลาด
FALSE หรือว่างเปล่า FALSE FALSE
เท็จและว่างเปล่า FALSE FALSE
TRUE หรือ BLANK TRUE TRUE
TRUE และว่างเปล่า FALSE TRUE
ว่างหรือว่างเปล่า ว่าง เปล่า ข้อผิดพลาด
ว่างและว่างเปล่า ว่าง เปล่า ข้อผิดพลาด

สําหรับรายละเอียดเกี่ยวกับวิธีที่ฟังก์ชันหรือตัวดําเนินการใดฟังก์ชันหนึ่งจัดการกับช่องว่าง ให้ดูที่หัวข้อแต่ละหัวข้อสําหรับแต่ละฟังก์ชัน DAX ในส่วน การอ้างอิงฟังก์ชัน DAX

ด้านบนของหน้า