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

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

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

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

ในบทความนี้

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

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

ชนิดข้อมูลใน Excel ชนิดข้อมูลใน DAX คำอธิบาย
จํานวนเต็ม ค่าจํานวนเต็ม 64 บิต (แปดไบต์) 1, 2 ตัวเลขที่ไม่มีตําแหน่งทศนิยม จํานวนเต็มอาจเป็นจํานวนบวกหรือจํานวนลบ แต่ต้องเป็นจํานวนทั้งหมดระหว่าง -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 สามารถเป็นสตริง ตัวเลข หรือวันที่ที่แสดงในรูปแบบข้อความ
ความยาวสตริงสูงสุดคือ 268,435,456 อักขระ Unicode (256 ล้านอักขระ) หรือ 536,870,912 ไบต์
วันที่ วันที่/เวลา วันที่และเวลาในการแสดงวันที่-เวลาที่ยอมรับ
วันที่ที่ถูกต้องคือวันที่ทั้งหมดหลังจากวันที่ 1 มกราคม พ.ศ. 2443 (หรือ ค.ศ. 1900)
สกุลเงิน สกุลเงิน ชนิดข้อมูลสกุลเงินอนุญาตค่าระหว่าง -922,337,203,685,477.5808 ถึง 922,337,203,685,477.5807 ด้วยทศนิยมสี่หลักที่มีความแม่นยําคงที่
N/A ว่าง ว่างคือชนิดข้อมูลใน DAX ที่แสดงและแทนที่ค่า Null ของ SQL คุณสามารถสร้างช่องว่างโดยใช้ฟังก์ชัน 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 จะทําการแปลงโดยนัยเมื่อใดก็ตามที่เป็นไปได้ตามความจําเป็นของการดําเนินการที่ระบุ

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

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

หมายเหตุ

ชนิดข้อมูล Text ไม่รวมอยู่ในตารางเหล่านี้ เมื่อตัวเลขถูกแสดงในรูปแบบข้อความ ในบางกรณี 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","นิพจน์เป็นจริง", "นิพจน์เป็นเท็จ") ส่งกลับ "นิพจน์เป็นจริง"

=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/ว่าง NaN ข้อผิดพลาด
ว่าง/ว่าง ว่างเปล่า ข้อผิดพลาด
FALSE หรือว่างเปล่า FALSE FALSE
FALSE และว่างเปล่า FALSE FALSE
จริง หรือว่างเปล่า TRUE TRUE
จริงและว่างเปล่า FALSE TRUE
ว่างหรือว่างเปล่า ว่างเปล่า ข้อผิดพลาด
ว่างเปล่า ว่างเปล่า ข้อผิดพลาด

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

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