ใน Oracle Analytics, ผู้ดูแลระบบจะตั้งโซนเวลาที่เป็นดีฟอลต์ที่ใช้สำหรับการคำนวณวันที่และเวลาใน การตั้งค่าระบบ การตั้งค่าร่วมนี้จะใช้กับทุกการคำนวณ หัวข้อนี้อธิบายวิธีการใช้ฟังก์ชัน TIMESTAMPADD
เพื่อระบุโซนเวลาอื่นหากคุณต้องการใช้เวลาระบบอื่นในการคำนวณเฉพาะ
ตั้งค่าโซนเวลาดีฟอลต์สำหรับการคำนวณในการตั้งค่าระบบ
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
ในฐานะผู้ดูแลระบบ คุณสามารถเปลี่ยนเวลาระบบที่ใช้ในการคำนวณโดยใช้ตัวเลือก โซนเวลาที่เป็นค่าดีฟอลต์สำหรับการคำนวณวันที่ ในคอนโซล ที่ด้านล่าง การตั้งค่าระบบขั้นสูง เลือกโซนเวลาที่ต้องการจากลิสต์แบบดรอปดาวน์ และนำการเปลี่ยนแปลงไปใช้เพื่อให้มีผลต่อค่าใหม่
.png
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าโซนเวลาโลก ดูที่การตั้งค่าระบบ - ตัวเลือกกำหนดรูปแบบ
ใช้โซนเวลาที่เฉพาะเจาะจงสำหรับเวลาระบบในการคำนวณ
หากต้องการสร้างเวลาระบบนอกเหนือจากการตั้งค่าระบบในการคำนวณ ให้ใช้ฟังก์ชัน TIMESTAMPADD
ร่วมกับ CURRENT_TIMESTAMP()
หรือ NOW()
การคำนวณ TIMESTAMPADD
พื้นฐานคือ:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)
สำหรับการคำนวณเวลาระบบ HOUR
จะเป็นช่วงเวลาและออฟเซ็ตของเวลาจะเป็นความแตกต่างรายชั่วโมงระหว่าง UTC และโซนเวลาที่จะรายงาน ตัวอย่างเช่น
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
การคำนวณนี้จะแสดงค่าเวลาระบบปัจจุบันเป็นเวลาแถบภูเขาของสหรัฐอเมริกา คุณสามารถสร้างคอลัมน์เวลาระบบใหม่เป็นคอลัมน์ที่ได้รับค่าในที่มาตารางแบบลอจิคัล หรือแมปโดยตรงไปยังฐานข้อมูล ความแตกต่างคือตำแหน่งที่จะทำการคำนวณ ได้แก่ Oracle Analytics หรือฐานข้อมูล รูปต่อไปนี้แสดงการคำนวณที่แมปโดยตรงกับฐานข้อมูลในไดอะล็อกตัวสร้างเอ็กซ์เพรสชัน - เอ็กซ์เพรสชัน
เมื่อโซนเวลาดีฟอลต์ถูกตั้งค่าเป็น UTC ฟังก์ชัน CURRENT_DATE
ไม่แสดงค่าวันที่ที่ถูกต้องสำหรับบางชั่วโมงของวันที่สัมพันธ์กันกับโซนเวลาของผู้ใช้ ตัวอย่างเช่น เมื่อเป็นเวลาเที่ยงคืนแบบ UTC วันที่ท้องถิ่นไม่ตรงกันกับวันที่แบบ UTC เป็นระยะเวลาตามออฟเซ็ตของเวลา
การแคสต์การคำนวณเวลาระบบเป็นวันที่จะแก้ไขปัญหานี้ได้ ตัวอย่างเช่น
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
รูปต่อไปนี้แสดงการคำนวณที่สร้างขึ้นเป็นคอลัมน์ที่ได้รับในไดอะล็อกตัวสร้างเอ็กซ์เพรสชัน - คอลัมน์แบบลอจิคัลที่ได้รับ
สำหรับรายงานเดียวหรือที่ไม่ซ้ำกัน คุณสามารถสร้างการคำนวณเวลาระบบที่ระดับรายงานได้ด้วยการแสดงข้อมูลหรือการวิเคราะห์แบบคลาสสิก หากคุณวางแผนที่จะนำการคำนวณกลับมาใช้อีกครั้ง การกำหนดให้เป็นคอลัมน์ในโมเดลรูปแบบภาษา (หรือไฟล์ RPD) มักจะง่ายกว่า
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันที่กล่าวถึงในหัวข้อนี้ ให้ดูที่ ฟังก์ชันวันที่และเวลา และ ฟังก์ชันชุดเวลา