การแปลงประเภท

บทความนี้จะอธิบายฟังก์ชันการแปลงประเภทและการใช้งานใน 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 ซึ่งแสดงทศนิยมด้วย
ดูเพิ่มเติมที่ ROUND(ลิงก์จะเปิดในหน้าต่างใหม่), CEILING(ลิงก์จะเปิดในหน้าต่างใหม่) และ FLOOR(ลิงก์จะเปิดในหน้าต่างใหม่)

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

สร้างการคำนวณการแปลงประเภท

ทำตามขั้นตอนด้านล่างเพื่อเรียนรู้วิธีสร้างการคำนวณการแปลงประเภท

  1. ใน Tableau Desktop ให้เชื่อมต่อกับแหล่งข้อมูลที่บันทึกไว้ ตัวอย่าง - Superstore ที่มาพร้อมกับ Tableau
  2. ไปยังเวิร์กชีต
  3. เลือก "การวิเคราะห์” > สร้างฟิลด์ที่คำนวณ
  4. ในเครื่องมือแก้ไขการคำนวณที่เปิด จะมีการแปลงฟิลด์รหัสไปรษณีย์จากตัวเลขเป็นสตริง
    • ตั้งชื่อฟิลด์ที่คำนวณว่า “สตริงรหัสไปรษณีย์”
    • ป้อนสูตรต่อไปนี้:

      STR([Postal Code])

    • เมื่อเสร็จแล้ว ให้คลิกตกลง

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

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

ดูเพิ่มเติม

ประเภทข้อมูล

แปลงฟิลด์เป็นฟิลด์วันที่

การจัดรูปแบบการคำนวณใน Tableau

ฟังก์ชันใน Tableau

ฟังก์ชัน Tableau (เรียงตามตัวอักษร)

ฟังก์ชัน Tableau (ตามหมวดหมู่)

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ