การแปลงประเภท
บทความนี้จะอธิบายฟังก์ชันการแปลงประเภทและการใช้งานใน Tableau และจะสาธิตวิธีสร้างการคำนวณการแปลงประเภทโดยใช้ตัวอย่าง
ทำไมจึงต้องใช้ฟังก์ชันการแปลงประเภท
ฟังก์ชันการแปลงประเภทช่วยให้คุณสามารถแปลงฟิลด์จากประเภทข้อมูลหนึ่งไปเป็นอีกประเภทได้ (ซึ่งเรียกว่า “การแคสต์”) ตัวอย่างเช่น หากคุณมีข้อมูลวันที่ในฟิลด์ที่มีประเภทข้อมูลสตริง คุณจะไม่สามารถใช้ฟิลด์นั้นในการคำนวณวันที่ได้ เว้นแต่ว่าฟิลด์นั้นจะแคสต์ (เปลี่ยน) เป็นประเภทข้อมูลวันที่
ตัวอย่างเช่น หากต้องการใช้ฟิลด์สตริงวันที่ในฟังก์ชัน DATEDIFF คุณจะต้องใช้การแปลงประเภทวันที่ด้วย:
DATEDIFF('day', [Date Field], DATE([String Date Field]) )
หากไม่มีฟังก์ชัน DATE ที่เปลี่ยนประเภทข้อมูล คุณจะได้รับข้อผิดพลาดว่า “กำลังเรียก DATEDIFF (สตริง, วันที่, สตริง)”
เคล็ดลับ: ฟิลด์มีค่าเริ่มต้นประเภทข้อมูลในแผงข้อมูล ในหลายกรณี คุณไม่จำเป็นต้องใช้ฟังก์ชันการแปลงประเภทเลย คุณสามารถเปลี่ยนประเภทข้อมูลของฟิลด์ได้โดยคลิกไอคอน อย่างไรก็ตาม ในบางกรณี การเปลี่ยนประเภทข้อมูลสำหรับการคำนวณที่เฉพาะเจาะจงอาจเป็นประโยชน์ ไม่เช่นนั้น Tableau อาจไม่สามารถแคสต์เนื้อหาของฟิลด์เป็นประเภทข้อมูลที่ต้องการได้อย่างถูกต้อง (เช่น ไม่จดจำรูปแบบวันที่) จากนั้นคุณจะต้องใช้ฟังก์ชันการแปลงประเภทตามที่แสดงด้านล่าง
ฟังก์ชันการแปลงประเภทที่มีอยู่ใน Tableau
DATE
ไวยากรณ์ | DATE(expression) |
เอาต์พุต | วันที่ |
คำนิยาม | แสดงวันที่ที่กำหนดตัวเลข สตริง หรือนิพจน์วันที่ |
ตัวอย่าง | DATE([Employee Start Date]) DATE("September 22, 2018") DATE("9/22/2018") DATE(#2018-09-22 14:52#) |
หมายเหตุ | ไม่จำเป็นต้องระบุรูปแบบ ซึ่งแตกต่างจาก DATEPARSE(ลิงก์จะเปิดในหน้าต่างใหม่) เนื่องจาก DATE จะรู้จักรูปแบบวันที่มาตรฐานต่างๆ มากมายโดยอัตโนมัติ อย่างไรก็ตาม หาก DATE ไม่รู้จักอินพุต ให้ลองใช้ DATEPARSE และระบุรูปแบบ MAKEDATE(ลิงก์จะเปิดในหน้าต่างใหม่) เป็นฟังก์ชันที่คล้ายกันอีกฟังก์ชันหนึ่ง แต่ MAKEDATE ต้องมีการป้อนค่าตัวเลขสำหรับปี เดือน และวัน |
DATETIME
ไวยากรณ์ | DATETIME(expression) |
เอาต์พุต | วันเวลา |
คำนิยาม | แสดงวันที่และเวลาที่กำหนดตัวเลข สตริง หรือนิพจน์วันที่ |
ตัวอย่าง | DATETIME("April 15, 2005 07:59:00") = April 15, 2005 07:59:00 |
FLOAT
ไวยากรณ์ | FLOAT(expression) |
เอาต์พุต | จำนวนจุดลอยตัว (ทศนิยม) |
คำนิยาม | คาสต์อากิวเมนต์เป็นเลขค่าทศนิยม |
ตัวอย่าง | FLOAT(3) = 3.000 |
หมายเหตุ | ดูเพิ่มเติมที่ INT ซึ่งแสดงจำนวนเต็ม |
INT
ไวยากรณ์ | INT(expression) |
เอาต์พุต | จำนวนเต็ม |
คำนิยาม | คาสต์อากิวเมนต์เป็นจำนวนเต็ม สำหรับนิพจน์ ฟังก์ชันนี้จะตัดทอนผลลัพธ์ให้เป็นจำนวนเต็มที่ใกล้เคียงศูนย์ที่สุด |
ตัวอย่าง | INT(8/3) = 2 INT(-9.7) = -9 |
หมายเหตุ | เมื่อแปลงสตริงเป็นจำนวนเต็ม จำนวนจะแปลงเป็นค่าทศนิยมก่อนแล้วจึงปัดเศษ ดูเพิ่มเติมที่ FLOAT ซึ่งแสดงทศนิยมด้วย |
MAKEDATE
ไวยากรณ์ | MAKEDATE(year, month, day) |
เอาต์พุต | วันที่ |
คำนิยาม | แสดงค่าวันที่ที่สร้างจากปี เดือน และวันที่ที่เป็นตัวเลขที่ระบุ |
ตัวอย่าง | MAKEDATE(1986,3,25) = #1986-03-25# โปรดทราบว่าค่าที่ป้อนไม่ถูกต้องจะถูกปรับเป็นวันที่ เช่น MAKEDATE(2020,4,31) = May 1, 2020 แทนที่จะแสดงข้อผิดพลาดเนื่องจากไม่มีวันที่ 31 เมษายน |
หมายเหตุ | มีให้ใช้งานสำหรับการแยกข้อมูลใน Tableau ตรวจสอบความพร้อมใช้งานในแหล่งข้อมูลอื่นๆ MAKEDATE ต้องใช้อินพุตที่เป็นตัวเลขสำหรับส่วนของวันที่ หากข้อมูลของคุณเป็นสตริงที่ควรเป็นวันที่ ให้ลองใช้ฟังก์ชัน DATE DATE จะจดจำรูปแบบวันที่มาตรฐานต่างๆ มากมายโดยอัตโนมัติ หาก DATE ไม่รู้จักอินพุต ให้ลองใช้ DATEPARSE |
MAKEDATETIME
ไวยากรณ์ | MAKEDATETIME(date, time) |
เอาต์พุต | วันเวลา |
คำนิยาม | แสดงวันที่และเวลาที่มีการรวมวันที่และเวลา วันที่อาจเป็นวันที่ วันที่และเวลา หรือประเภทสตริง เวลาต้องเป็นวันที่และเวลา |
ตัวอย่าง | MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM# MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM# |
หมายเหตุ | ฟังก์ชันนี้ใช้งานได้สำหรับการเชื่อมต่อที่เข้ากันได้กับ MySQL เท่านั้น (โดยสำหรับ Tableau ก็คือ MySQL และ Amazon Aurora) MAKETIME เป็นฟังก์ชันที่คล้ายกันสำหรับการแยกข้อมูลของ Tableau และแหล่งข้อมูลอื่นๆ |
MAKELINE
ไวยากรณ์ | MAKELINE(<Spatial Point1>,<Spatial Point2>) |
เอาต์พุต | วัตถุเชิงพื้นที่เรขาคณิต (เส้น) |
คำนิยาม | สร้างเครื่องหมายเส้นระหว่างจุดสองจุด |
ตัวอย่าง | MAKELINE(OriginPoint, DestinationPoint) MAKELINE( MAKEPOINT(OriginLat],[OriginLong]) , MAKEPOINT([DestinationLat],[DestinationLong] ) |
หมายเหตุ | มีประโยชน์สำหรับการสร้างแผนที่ต้นทาง-ปลายทาง หรือใช้ MAKEPOINT ในการเปลี่ยนละติจูดและลองจิจูดให้เป็นวัตถุเชิงพื้นที่ |
MAKEPOINT
ไวยากรณ์ | MAKEPOINT(<latitude>, <longitude>) |
เอาต์พุต | วัตถุเชิงพื้นที่เรขาคณิต (จุด) |
คำนิยาม | แปลงข้อมูลจากคอลัมน์ละติจูดและลองจิจูดเป็นออบเจ็กต์เชิงพื้นที่ |
ตัวอย่าง | MAKEPOINT([AirportLatitude],[AirportLongitude]) |
หมายเหตุ | คุณสามารถใช้ MAKEPOINT เพื่อเปิดใช้งานแหล่งข้อมูลในเชิงพื้นที่เพื่อให้สามารถรวมกับไฟล์เชิงพื้นที่ได้โดยใช้การรวมเชิงพื้นที่ หากต้องการข้อมูลเพิ่มเติม โปรดดูรวมไฟล์เชิงพื้นที่ใน Tableau หากต้องการใช้ MAKEPOINT ข้อมูลของคุณต้องมีพิกัดละติจูดและลองจิจูด |
MAKETIME
ไวยากรณ์ | MAKETIME(hour, minute, second) |
เอาต์พุต | วันที่และเวลา ดูหมายเหตุ |
คำนิยาม | แสดงค่าวันที่ที่สร้างจากชั่วโมง นาที และวินาทีที่ระบุ |
ตัวอย่าง | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
หมายเหตุ | เนื่องจาก Tableau ไม่รองรับประเภทข้อมูลที่เป็นเวลา แต่รองรับเฉพาะวันที่และเวลา เอาต์พุตจึงจะเป็นวันที่และเวลา ส่วนวันที่ของฟิลด์จะเป็น 1/1/1899 ซึ่งคล้ายกับฟังก์ชัน MAKEDATETIME ซึ่งใช้ได้เฉพาะกับการเชื่อมต่อที่เข้ากันได้กับ MYSQL เท่านั้น |
STR
ไวยากรณ์ | STR(expression) |
เอาต์พุต | สตริง |
คำนิยาม | ส่งอาร์กิวเมนต์เป็นสตริง |
ตัวอย่าง | STR([ID]) |
นิพจน์บูลีนการแคสต์
บูลีนจะแคสต์เป็นจำนวนเต็ม ค่าทศนิยม หรือสตริงได้ แต่จะส่งเป็นวันที่ไม่ได้
True
แมปกับ 1, 1.0 หรือ "1"False
แมปเป็น 0, 0.0 หรือ "0"Unknown
จะแมปเป็นNull
สร้างการคำนวณการแปลงประเภท
ทำตามขั้นตอนด้านล่างเพื่อเรียนรู้วิธีสร้างการคำนวณการแปลงประเภท
- ใน Tableau Desktop ให้เชื่อมต่อกับแหล่งข้อมูลที่บันทึกไว้ ตัวอย่าง - Superstore ที่มาพร้อมกับ Tableau
- ไปยังเวิร์กชีต
- เลือก "การวิเคราะห์” > สร้างฟิลด์ที่คำนวณ
- ในเครื่องมือแก้ไขการคำนวณที่เปิด จะมีการแปลงฟิลด์รหัสไปรษณีย์จากตัวเลขเป็นสตริง
- ตั้งชื่อฟิลด์ที่คำนวณว่า “สตริงรหัสไปรษณีย์”
- ป้อนสูตรต่อไปนี้:
STR([Postal Code])
- เมื่อเสร็จแล้ว ให้คลิกตกลง
ฟิลด์ที่คำนวณใหม่จะปรากฏในส่วน "มิติข้อมูล" ในแผง "ข้อมูล" คุณสามารถใช้ฟิลด์นี้ในการแสดงเป็นภาพได้มากกว่าหนึ่งรายการ เช่นเดียวกับฟิลด์อื่นๆ
การแปลงฟิลด์นี้จากตัวเลขเป็นสตริงช่วยให้แน่ใจว่า Tableau จะถือว่าฟิลด์นั้นเป็นสตริง ไม่ใช่ตัวเลข (และจะไม่รวบรวมเข้าด้วยกัน)
ดูเพิ่มเติม
การจัดรูปแบบการคำนวณใน Tableau