ฟังก์ชันวันที่

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

ทำความคุ้นเคยกับแนวคิดอื่นๆ เกี่ยวกับวันที่

ฟังก์ชันวันที่บางครั้งจะอ้างอิงองค์ประกอบเฉพาะวันที่ ซึ่งรวมถึงอาร์กิวเมนต์ date_part, พารามิเตอร์ [start_of_week] ที่ระบุหรือไม่ก็ได้ และตัวอักษรวันที่ (#) โดยจะกล่าวถึงในรายละเอียดเพิ่มเติมที่ส่วนท้ายของหัวข้อนี้

มีหัวข้ออื่นๆ มากมายที่อาจน่าสนใจ แต่ไม่ใช่ส่วนหนึ่งของฟังก์ชันวันที่:

เคล็ดลับ: ฟิลด์ของคุณได้รับการจดจำแล้วว่าเป็นวันที่ (มีไอคอนวันที่ในบานแผงข้อมูล) และคุณกำลังพยายามควบคุมลักษณะที่ปรากฏในกลุ่มนี้

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

ฟังก์ชันวันที่ที่มีอยู่ใน Tableau

DATE

ฟังก์ชันการแปลงประเภทซึ่งจะเปลี่ยนนิพจน์สตริงและตัวเลขเป็นวันที่ ตราบใดที่อยู่ในรูปแบบที่จดจำได้

ไวยากรณ์DATE(expression)
เอาต์พุตวันที่
คำนิยามแสดงวันที่ที่กำหนด <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 ต้องมีการป้อนค่าตัวเลขสำหรับปี เดือน และวัน

DATEADD

เพิ่มจำนวนส่วนของวันที่ที่ระบุ (เดือน วัน ฯลฯ) ให้กับวันที่เริ่มต้น

ไวยากรณ์DATEADD(date_part, interval, date)
เอาต์พุตวันที่
คำนิยามแสดง <date> เฉพาะเจาะจงพร้อมหมายเลขที่ระบุ <interval> ที่เพิ่มไปยัง <date_part> ที่ระบุของวันที่นั้น ตัวอย่างเช่น การเพิ่ม 3 เดือนหรือ 12 วันไปยังวันที่เริ่มต้น
ตัวอย่าง

เลื่อนวันครบกำหนดทั้งหมดออกไป 1 สัปดาห์

DATEADD('week', 1, [due date])

เพิ่ม 280 วันไปยังวันที่ 20 กุมภาพันธ์ 2021

DATEADD('day', 280, #2/20/21#) = #November 27, 2021#
หมายเหตุรองรับวันที่ ISO 8601

DATEDIFF

แสดงจำนวนส่วนของวันที่ (สัปดาห์ ปี ฯลฯ) ระหว่างวันที่ 2 วัน

ไวยากรณ์DATEDIFF(date_part, date1, date2, [start_of_week])
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงค่าความแตกต่างระหว่าง <date1> กับ <date2n> ที่แสดงในหน่วย <date_part> ตัวอย่างเช่น การลบวันที่ที่มีคนเข้ามาและออกจากวงดนตรีเพื่อดูว่าพวกเขาอยู่ในวงดนตรีนานแค่ไหน
ตัวอย่าง

จำนวนวันระหว่างวันที่ 25 มีนาคม 1986 ถึง 20 กุมภาพันธ์ 2021

DATEDIFF('day', #3/25/1986#, #2/20/2021#) = 12,751

มีกี่เดือนที่มีคนอยู่ในวงดนตรี

DATEDIFF('month', [date joined band], [date left band])
หมายเหตุรองรับวันที่ ISO 8601

DATENAME

แสดงชื่อของส่วนวันที่ที่ระบุเป็นสตริงแยกกัน

ไวยากรณ์DATENAME(date_part, date, [start_of_week])
เอาต์พุตสตริง
คำนิยามแสดง <date_part> ของ <date> เป็นสตริง
ตัวอย่าง
DATENAME('year', #3/25/1986#) = "1986"
DATENAME('month', #1986-03-25#) = "March"
หมายเหตุ

รองรับวันที่ ISO 8601

การคำนวณที่คล้ายกันมากคือ DATEPART ซึ่งแสดงค่าของส่วนวันที่ที่ระบุเป็นจำนวนเต็มต่อเนื่อง DATEPART อาจเร็วกว่าเพราะเป็นการดำเนินการเชิงตัวเลข

โดยการเปลี่ยนแอตทริบิวต์ของผลลัพธ์การคำนวณ (มิติข้อมูลหรือการวัดผล ต่อเนื่องหรือแยกกัน) และการจัดรูปแบบวันที่ ผลลัพธ์ของ DATEPART และ DATENAME สามารถจัดรูปแบบให้เหมือนกันได้

ฟังก์ชันผกผันคือ DATEPARSE ซึ่งรับค่าสตริงและจัดรูปแบบเป็นวันที่

DATEPARSE

แสดงสตริงที่จัดรูปแบบพิเศษเป็นวันที่

ไวยากรณ์DATEPARSE(date_format, date_string)
เอาต์พุตวันที่
คำนิยามอาร์กิวเมนต์ <date_format> จะอธิบายวิธีจัดเรียงฟิลด์ <date_string> เนื่องจากฟิลด์แบบสตริงสามารถเรียงลำดับได้หลายแบบ <date_format> จะต้องตรงกันทุกประการ ดูตำอธิบายแบบเต็มได้ที่แปลงฟิลด์เป็นฟิลด์วันที่(ลิงก์จะเปิดในหน้าต่างใหม่)
ตัวอย่าง
DATEPARSE('yyyy-MM-dd', "1986-03-25") = #March 25, 1986#
หมายเหตุ

DATE เป็นฟังก์ชันที่คล้ายกันซึ่งจดจำรูปแบบวันที่มาตรฐานต่างๆ มากมายโดยอัตโนมัติ DATEPARSE อาจเป็นตัวเลือกที่ดีกว่าหาก DATE ไม่จดจำรูปแบบอินพุต

MAKEDATE เป็นฟังก์ชันที่คล้ายกันอีกฟังก์ชันหนึ่ง แต่ MAKEDATE ต้องมีการป้อนค่าตัวเลขสำหรับปี เดือน และวัน

ฟังก์ชันผกผัน ซึ่งแยกวันที่ออกจากกันและแสดงค่าของส่วนต่างๆ คือ DATEPART (เอาต์พุตจำนวนเต็ม) และ DATENAME (เอาต์พุตสตริง)

ข้อจำกัดของฐานข้อมูล

DATEPARSE ใช้งานได้ผ่านตัวเชื่อมต่อต่อไปนี้: Excel และการเชื่อมต่อไฟล์ข้อความที่ไม่ใช่แบบเดิม, Amazon EMR Hadoop Hive, Cloudera Hadoop, Google Sheets, Hortonworks Hadoop Hive, MapR Hadoop Hive, MySQL, Oracle, PostgreSQL และการแยกข้อมูลของ Tableau โดยบางรูปแบบอาจไม่พร้อมใช้งานสำหรับการเชื่อมต่อทั้งหมด

DATEPARSE จะไม่รองรับตัวแปร Hive โดยจะรองรับเฉพาะ Denodo, Drill และ Snowflake เท่านั้น

DATEPART

แสดงชื่อของส่วนวันที่ที่ระบุเป็นจำนวนเต็ม

ไวยากรณ์DATEPART(date_part, date, [start_of_week])
เอาต์พุตจำนวนเต็ม
คำนิยามแสดง <date_part> ของ <date> เป็นจำนวนเต็ม
ตัวอย่าง
DATEPART('year', #1986-03-25#) = 1986
DATEPART('month', #1986-03-25#) = 3
หมายเหตุ

รองรับวันที่ ISO 8601

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

ฟังก์ชันผกผันคือ DATEPARSE ซึ่งรับค่าสตริงและจัดรูปแบบเป็นวันที่

DATETRUNC

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

ไวยากรณ์DATETRUNC(date_part, date, [start_of_week])
เอาต์พุตวันที่
คำนิยามตัดทอน <date> ให้ถูกต้องตามที่ระบุโดย <date_part> ฟังก์ชันนี้จะแสดงวันที่ใหม่ ตัวอย่างเช่น เมื่อคุณตัดทอนวันที่ที่อยู่กลางเดือนในระดับเดือน ฟังก์ชันนี้จะแสดงวันที่แรกของเดือน
ตัวอย่าง
DATETRUNC('day', #9/22/2018#) = #9/22/2018#
DATETRUNC('iso-week', #9/22/2018#) = #9/17/2018#

(วันจันทร์ของสัปดาห์ที่ 9/22/2018)

DATETRUNC(quarter, #9/22/2018#) = #7/1/2018# 

(วันแรกของไตรมาสที่ 9/22/2018)

หมายเหตุ: สำหรับสัปดาห์และสัปดาห์แบบ ISO ค่า start_of_week จะเข้ามามีบทบาท สัปดาห์แบบ ISO จะเริ่มต้นที่วันจันทร์เสมอ สำหรับภาษาของตัวอย่างนี้ start_of_week ที่ไม่ระบุหมายถึงสัปดาห์เริ่มต้นที่วันอาทิตย์

หมายเหตุ

รองรับวันที่ ISO 8601

คุณต้องไม่ใช้ DATETRUNC เพื่อหยุดแสดงเวลาสำหรับฟิลด์วันที่และเวลาในการแสดงเป็นภาพ เป็นต้น หากคุณต้องการตัดทอนการแสดงวันที่ แทนที่จะปัดเศษเพื่อความถูกต้องแม่นยำ ให้ปรับการจัดรูปแบบ(ลิงก์จะเปิดในหน้าต่างใหม่)

ตัวอย่างเช่น DATETRUNC('day', #5/17/2022 3:12:48 PM#) หากจัดรูปแบบในการแสดงเป็นภาพที่สอง จะแสดงเป็น 5/17/2022 12:00:00 AM

DAY

แสดงวันของเดือน (1-31) เป็นจำนวนเต็ม

ไวยากรณ์DAY(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงวันของ <date> ที่กำหนดเป็นจำนวนเต็ม
ตัวอย่าง
Day(#September 22, 2018#) = 22
หมายเหตุดูเพิ่มเติมที่ WEEK, MONTH, QUARTER, YEAR และค่าเทียบเท่า ISO

ISDATE

ตรวจสอบว่าสตริงเป็นรูปแบบวันที่ที่ถูกต้องหรือไม่

ไวยากรณ์ISDATE(string)
เอาต์พุตบูลีน
คำนิยามแสดงค่า True หาก <string> ที่กำหนดเป็นวันที่ที่ถูกต้อง
ตัวอย่าง
ISDATE(09/22/2018) = true
ISDATE(22SEP18) = false
หมายเหตุอาร์กิวเมนต์ที่ต้องการต้องเป็นสตริง ไม่สามารถใช้ ISDATE สำหรับฟิลด์ที่มีประเภทข้อมูลที่เป็นวันที่ การคำนวณจะแสดงข้อผิดพลาด

ISOQUARTER

ไวยากรณ์ISOQUARTER(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงค่าไตรมาสตามสัปดาห์ ISO8601 ของ <date> ที่ระบุเป็นจำนวนเต็ม
ตัวอย่าง
ISOQUARTER(#1986-03-25#) = 1
หมายเหตุดูเพิ่มเติมที่ ISOWEEK, ISOWEEKDAY, ISOYEAR และค่าเทียบเท่า ISO

ISOWEEK

ไวยากรณ์ISOWEEK(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงค่าสัปดาห์ตามสัปดาห์ ISO8601 ของ <date> ที่กำหนดเป็นจำนวนเต็ม
ตัวอย่าง
ISOWEEK(#1986-03-25#) = 13
หมายเหตุดูเพิ่มเติมที่ ISOWEEKDAY, ISOQUARTER, ISOYEAR และค่าเทียบเท่า ISO

ISOWEEKDAY

ไวยากรณ์ISOWEEKDAY(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงค่าวันในสัปดาห์ตามสัปดาห์ ISO8601 ของ <date> ที่ระบุเป็นจำนวนเต็ม
ตัวอย่าง
ISOWEEKDAY(#1986-03-25#) = 2
หมายเหตุดูเพิ่มเติมที่ ISOWEEK, ISOQUARTER, ISOYEAR และค่าเทียบเท่า ISO

ISOYEAR

ไวยากรณ์ISOYEAR(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงค่าปีตามสัปดาห์ ISO8601 ของ <date> ที่ระบุเป็นจำนวนเต็ม
ตัวอย่าง
ISOYEAR(#1986-03-25#) = 1,986
หมายเหตุดูเพิ่มเติมที่ ISOWEEK, ISOWEEKDAY, ISOQUARTER และค่าเทียบเท่า ISO

MAKEDATE

ไวยากรณ์MAKEDATE(year, month, day)
เอาต์พุตวันที่
คำนิยามแสดงค่าวันที่ที่สร้างจาก <year>, <monthg> และ <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)
เอาต์พุตวันเวลา
คำนิยามแสดงวันที่และเวลาที่มีการรวม <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 และแหล่งข้อมูลอื่นๆ

MAKETIME

ไวยากรณ์MAKETIME(hour, minute, second)
เอาต์พุตวันเวลา
คำนิยามแสดงค่าวันที่ที่สร้างจาก <hour>, <minute> และ <second> ที่ระบุ
ตัวอย่าง
MAKETIME(14, 52, 40) = #1/1/1899 14:52:40#
หมายเหตุ

เนื่องจาก Tableau ไม่รองรับประเภทข้อมูลที่เป็นเวลา แต่รองรับเฉพาะวันที่เวลา เอาต์พุตจึงจะเป็นวันที่เวลา ส่วนวันที่ของฟิลด์จะเป็น 1/1/1899

โดยคล้ายกับฟังก์ชัน MAKEDATETIME ซึ่งใช้ได้เฉพาะกับการเชื่อมต่อที่เข้ากันได้กับ MYSQL เท่านั้น

MAX

ไวยากรณ์MAX(expression) หรือ MAX(expr1, expr2)
เอาต์พุตประเภทข้อมูลเดียวกันกับอาร์กิวเมนต์หรือ NULL หากส่วนใดส่วนหนึ่งของอาร์กิวเมนต์เป็นค่า null
คำนิยาม

แสดงค่าสูงสุดของสองอาร์กิวเมนต์ ซึ่งต้องเป็นประเภทข้อมูลเดียวกัน

MAX ยังสามารถนำไปใช้กับฟิลด์เดียวเป็นการรวบรวมได้

ตัวอย่าง
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
หมายเหตุ

สำหรับสตริง

โดยปกติ MAX จะเป็นค่าที่อยู่หลังสุดตามลำดับตัวอักษร

สำหรับแหล่งข้อมูลของฐานข้อมูล ค่าสตริง MAX จะเป็นค่าที่สูงที่สุดในลำดับการจัดเรียงที่กำหนดตามฐานข้อมูลของคอลัมน์นั้น

สำหรับวันที่

สำหรับวันที่ MAX เป็นวันที่ล่าสุด หาก MAX เป็นการรวบรวม ผลลัพธ์จะไม่มีลำดับชั้นวันที่ หาก MAX คือการเปรียบเทียบ ผลลัพธ์จะคงลำดับชั้นวันที่ไว้

เป็นการรวบรวม

MAX(expression) เป็นฟังก์ชันรวมและแสดงผลลัพธ์รวมเพียงรายการเดียว สิ่งนี้จะแสดงเป็น AGG(expression) ในการแสดงเป็นภาพ

เป็นการเปรียบเทียบ

MAX(expr1, expr2) เปรียบเทียบค่าทั้งสองและแสดงค่าระดับแถว

ดูเพิ่มเติมที่ MIN

MIN

ไวยากรณ์MIN(expression) หรือ MIN(expr1, expr2)
เอาต์พุตประเภทข้อมูลเดียวกันกับอาร์กิวเมนต์หรือ NULL  หากส่วนใดส่วนหนึ่งของอาร์กิวเมนต์เป็นค่า null
คำนิยาม

แสดงค่าสูงสุดของสองอาร์กิวเมนต์ ซึ่งต้องเป็นประเภทข้อมูลเดียวกัน

MIN ยังสามารถนำไปใช้กับฟิลด์เดียวเป็นการรวบรวมได้

ตัวอย่าง
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
หมายเหตุ

สำหรับสตริง

โดยปกติแล้ว MIN จะเป็นค่าที่มาก่อนตามลำดับตัวอักษร

สำหรับแหล่งข้อมูลของฐานข้อมูล ค่าสตริง MIN จะเป็นค่าที่ต่ำสุดในลำดับการจัดเรียงที่กำหนดตามฐานข้อมูลของคอลัมน์นั้น

สำหรับวันที่

สำหรับวันที่ MIN เป็นวันแรกที่สุด หาก MIN เป็นการรวบรวม ผลลัพธ์จะไม่มีลำดับชั้นวันที่ หาก MIN คือการเปรียบเทียบ ผลลัพธ์จะคงลำดับชั้นวันที่ไว้

เป็นการรวบรวม

MIN(expression) เป็นฟังก์ชันรวมและแสดงผลลัพธ์รวมเพียงรายการเดียว สิ่งนี้จะแสดงเป็น AGG(expression) ในการแสดงเป็นภาพ

เป็นการเปรียบเทียบ

MIN(expr1, expr2) เปรียบเทียบค่าทั้งสองและแสดงค่าระดับแถว

ดูเพิ่มเติมที่ MAX

MONTH

ไวยากรณ์MONTH(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงเดือนของ <date> ที่กำหนดเป็นจำนวนเต็ม
ตัวอย่าง
MONTH(#1986-03-25#) = 3
หมายเหตุดูเพิ่มเติมที่ DAY, WEEK, QUARTER, YEAR และค่าเทียบเท่า ISO

NOW

ไวยากรณ์NOW()
เอาต์พุตวันเวลา
คำนิยามแสดงวันที่และเวลาปัจจุบันของระบบในเครื่อง
ตัวอย่าง
NOW() = 1986-03-25 1:08:21 PM
หมายเหตุ

NOW ไม่ใช้อาร์กิวเมนต์

ดูเพิ่มเติมที่ TODAY การคำนวณที่คล้ายกันซึ่งแสดงวันที่ แทนที่จะเป็นวันที่และเวลา

หากแหล่งข้อมูลเป็นการเชื่อมต่อแบบเรียลไทม์ วันที่และเวลาของระบบอาจอยู่ในโซนเวลาอื่น หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีจัดการเรื่องนี้ โปรดดูที่ฐานความรู้

QUARTER

ไวยากรณ์QUARTER(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงไตรมาสของ <date> ที่กำหนดเป็นจำนวนเต็ม
ตัวอย่าง
QUARTER(#1986-03-25#) = 1
หมายเหตุดูเพิ่มเติมที่ DAY, WEEK, MONTH, YEAR และค่าเทียบเท่า ISO

TODAY

ไวยากรณ์TODAY()
เอาต์พุตวันที่
คำนิยามแสดงวันที่ปัจจุบันของระบบในเครื่อง
ตัวอย่าง
TODAY() = 1986-03-25
หมายเหตุ

TODAY ไม่ใช้อาร์กิวเมนต์

ดูเพิ่มเติมที่ NOW การคำนวณที่คล้ายกันซึ่งแสดงวันที่และเวลา แทนที่จะเป็นวันที่

หากแหล่งข้อมูลเป็นการเชื่อมต่อแบบเรียลไทม์ วันที่ของระบบอาจอยู่ในโซนเวลาอื่น หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีจัดการเรื่องนี้ โปรดดูที่ฐานความรู้

WEEK

ไวยากรณ์WEEK(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงสัปดาห์ของ <date> ที่กำหนดเป็นจำนวนเต็ม
ตัวอย่าง
WEEK(#1986-03-25#) = 13
หมายเหตุดูเพิ่มเติมที่ DAY, MONTH, QUARTER, YEAR และค่าเทียบเท่า ISO

YEAR

ไวยากรณ์YEAR(date)
เอาต์พุตจำนวนเต็ม
คำนิยามแสดงปีของ <date> ที่กำหนดเป็นจำนวนเต็ม
ตัวอย่าง
YEAR(#1986-03-25#) = 1,986
หมายเหตุดูเพิ่มเติมที่ DAY, WEEK, MONTH, QUARTER และค่าเทียบเท่า ISO

อาร์กิวเมนต์ date_part

ฟังก์ชันวันที่จำนวนมากใน Tableau ใช้อาร์กิวเมนต์ date_part ซึ่งเป็นค่าคงที่ของสตริงที่บอกฟังก์ชันว่าต้องพิจารณาส่วนใดของวันที่ เช่น วัน สัปดาห์ ไตรมาส เป็นต้น ค่า date_part ที่ถูกต้องที่คุณสามารถใช้ได้คือ:

date_partค่า
'year'ปีแบบสี่หลัก
'quarter'1-4
'month'1-12 หรือ “มกราคม” “กุมภาพันธ์” และต่อเนื่องไป
'dayofyear'วันของปี 1 ม.ค. คือ 1, 1 ก.พ. คือ 32 และต่อเนื่องไป
'day'1-31
'weekday'1-7 หรือ “วันอาทิตย์” “วันจันทร์” และต่อเนื่องไป
'week'1-52
'hour'0-23
'minute'0-59
'second'0-60
'iso-year'ISO 8601 ปี 4 หลัก
'iso-quarter'1-4
'iso-week'1-52, วันเริ่มต้นสัปดาห์เป็นวันจันทร์เสมอ
'iso-weekday'1-7, วันเริ่มต้นสัปดาห์เป็นวันจันทร์เสมอ

พารามิเตอร์ [start_of_week]

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

สำหรับตัวอย่างด้านล่าง 22 กันยายนเป็นวันอาทิตย์ และ 24 กันยายนเป็นวันอังคาร ระบบกำลังใช้ฟังก์ชัน DATEDIFF เพื่อคำนวณสัปดาห์ระหว่างวันที่เหล่านี้

DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'monday') = 1

  • เนื่องจาก start_of_week คือ “วันจันทร์” วันที่เหล่านี้จึงอยู่คนละสัปดาห์

DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'sunday') = 0

  • เนื่องจาก start_of_week คือ “วันอาทิตย์” วันที่เหล่านี้จึงอยู่ในสัปดาห์เดียวกัน

ตัวอักษรวันที่ (#)

ตัวอย่างมักใช้สัญลักษณ์ปอนด์ (#) กับนิพจน์วันที่ นี่คือตัวอักษรวันที่ คล้ายกับการใช้เครื่องหมายคำพูดสำหรับสตริงข้อความ และบอก Tableau ว่าค่าภายในสัญลักษณ์คือวันที่

หากไม่มีตัวอักษรวันที่ วันที่อาจถูกตีความว่าเป็นข้อมูลประเภทอื่นๆ ตัวอย่าง:

รูปแบบประเภทข้อมูลค่า
'March 25, 1986'สตริง'March 25, 1986'
#3/25/1986#วันที่#3/25/1986#
March 25, 1986ทศนิยม0.00006042
March 25, 1986จำนวนเต็ม1,958
March 25, 1986 ไม่ถูกต้อง

หากต้องการข้อมูลเพิ่มเติม โปรดดูที่ไวยากรณ์นิพจน์สัญพจน์

สร้างการคำนวณข้อมูล

ฝึกสร้างการคำนวณวันที่โดยใช้แหล่งข้อมูลตัวอย่าง Superstore

  1. ใน Tableau Desktop ให้เชื่อมต่อแหล่งข้อมูลตัวอย่าง - Superstore ที่บันทึกไว้ซึ่งมาพร้อมกับ Tableau
  2. เปิดเวิร์กชีต
  3. จากแผงข้อมูลใต้มิติข้อมูล ให้ลากวันที่สั่งซื้อไปที่แถบแถว
  4. บนแผง แถว ให้คลิกไอคอนเครื่องหมายบวก (+) บนฟิลด์ YEAR(Order Date)

    QUARTER(วันที่สั่งซื้อ) ได้รับการเพิ่มไปยังแผงแถวและการอัปเดตมุมมอง

  5. ที่แผง แถว ให้คลิกไอคอนบวก (+) ที่ฟิลด์ QUARTER(วันที่สั่งซื้อ) เพื่อดูรายละเอียดแนวลึกสำหรับ MONTH(Order Date)

  6. เลือก “การวิเคราะห์” > สร้างฟิลด์ที่คำนวณ
  7. ในตัวแก้ไขการคำนวณที่เปิดขึ้น ให้ทำดังนี้
    • ตั้งชื่อฟิลด์ที่คำนวณว่าวันที่ของไตรมาส
    • ป้อนสูตรต่อไปนี้: DATETRUNC('quarter', [Order Date])
    • เมื่อเสร็จแล้ว ให้คลิกตกลง

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

  8. จากแผงข้อมูลใต้มิติข้อมูล ให้ลากวันที่ของไตรมาส ไปที่แถบแถว และวางไว้ทางด้านขวาของ MONTH(Order Date) การแสดงเป็นภาพจะอัปเดตด้วยค่าปี นี่เป็นเพราะ Tableau ควบรวมข้อมูลวันที่จนถึงระดับสูงสุดของรายละเอียด
  9. บนแผงแถว ให้คลิกขวาที่ YEAR(Quarter Date) แล้วเลือกวันที่แน่นอน
  10. บนแผงแถว ให้คลิกขวาที่ YEAR(Quarter Date) อีกครั้งแล้วเลือกแบบแยกกัน

    การแสดงเป็นภาพจะอัปเดตด้วยวันที่ของไตรมาสที่แน่นอนสำหรับแต่ละแถวในตาราง

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