คอนฟิเกอร์เวลาระบบ

ใน Oracle Analytics, ผู้ดูแลระบบจะตั้งโซนเวลาที่เป็นดีฟอลต์ที่ใช้สำหรับการคำนวณวันที่และเวลาใน การตั้งค่าระบบ การตั้งค่าร่วมนี้จะใช้กับทุกการคำนวณ หัวข้อนี้อธิบายวิธีการใช้ฟังก์ชัน TIMESTAMPADD เพื่อระบุโซนเวลาอื่นหากคุณต้องการใช้เวลาระบบอื่นในการคำนวณเฉพาะ

ตั้งค่าโซนเวลาดีฟอลต์สำหรับการคำนวณในการตั้งค่าระบบ

ตามค่าดีฟอลต์ เวลาระบบสำหรับ Oracle Analytics Cloud จะอิงตามเวลา UTC ฟังก์ชันต่อไปนี้จะแสดงค่าโดยใช้วันที่หรือเวลาแบบ UTC:
  • CURRENT_DATE
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • NOW()

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

คำอธิบาย GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.png มีดังนี้
.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 หรือฐานข้อมูล รูปต่อไปนี้แสดงการคำนวณที่แมปโดยตรงกับฐานข้อมูลในไดอะล็อกตัวสร้างเอ็กซ์เพรสชัน - เอ็กซ์เพรสชัน

คำอธิบาย GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpg มีดังนี้
.jpg

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

การแคสต์การคำนวณเวลาระบบเป็นวันที่จะแก้ไขปัญหานี้ได้ ตัวอย่างเช่น

cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)

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

คำอธิบาย GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpg มีดังนี้
.jpg

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

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