פונקציות של תאריך ושעה

פונקציות תאריך ושעה מטפלות בנתונים בהתבסס על DATE ו-DATETIME.

פונקציה דוגמה תיאור תחביר
CONVERT_TZ CONVERT_TZ(Order Date, 'UTC', 'America/Denver') ממיר ערך datetime expr מאזור הזמן שצוין על-ידי אזור זמן ישן לאזור הזמן שצוין על-ידי אזור זמן חדש ומחזיר את הערך המתקבל. CONVERT_TZ(expr, 'Old time zone', 'New time zone')

CURRENT_Date

CURRENT_DATE

מחזיר את התאריך הנוכחי.

התאריך נקבע על-ידי המערכת שבה Oracle BI מופעל.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

מחזיר את השעה הנוכחית לפי מספר ספרות הדיוק שצוינו, לדוגמה: HH:MM:SS.SSS

אם לא צוין שום ארגומנט, הפונקציה מחזירה את ברירת המחדל של הדיוק.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

מחזיר את התאריך/חותמת הזמן הנוכחיים לפי מספר ספרות הדיוק שצוינו.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

מחזיר את השם של היום בשבוע בביטוי התאריך שצוין.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

מחזיר את המספר שמקביל ליום בחודש בביטוי התאריך שצוין.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

מחזיר מספר בין 1 ל-7 המקביל ליום בשבוע בביטוי התאריך שצוין. לדוגמה, 1 תמיד מקביל ליום ראשון, 2 ליום שני וכך הלאה עד ליום שבת שמחזיר 7.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

מחזיר את המספר, בין 1 ל-366, המקביל ליום בשנה בביטוי התאריך שצוין.

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

מחזיר מספר, בין 1 ל-92, שמקביל ליום ברבעון בביטוי התאריך שצוין.

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

מחזיר מספר, בין 0 ל-23, המקביל לשעה בביטוי השעה שצוין. לדוגמה, 0 מקביל ל-12 a.m. ו-23 מקביל ל-11 p.m.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

מחזיר מספר, בין 0 ל-59, המקביל לדקות בביטוי השעה שצוין.

MINUTE(expr)

MONTH

MONTH(Order_Time)

מחזיר את המספר, בין 1 ל-12, המקביל לחודש בביטוי התאריך שצוין.

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

מחזיר את שם החודש בביטוי התאריך שצוין.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

מחזיר את המספר, בין 1 ל-3, המקביל לחודש ברבעון בביטוי התאריך שצוין.

MONTH_OF_QUARTER(expr)

NOW

NOW()

מחזיר את חותמת הזמן הנוכחית. הפונקציה NOW שוות ערך לפונקציה CURRENT_TIMESTAMP.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

מחזיר את המספר, בין 1 ל-4, המקביל לרבעון בשנה בביטוי התאריך שצוין.

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

מחזיר את המספר, בין 0 ל-59, המקביל לשניות בביטוי השעה שצוין.

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

מוסיף את מספר המרווחים שצוין לחותמת זמן ומחזיר חותמת זמן אחת.

אפשרויות המרווח הן: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

מחזיר את המספר הכולל של מרווחים שצוינו בין שתי חותמות זמן.

השתמש במרווחים זהים לאלו של TIMESTAMPADD.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

מחזיר מספר, בין 1 ל-13, שמקביל לשבוע ברבעון בביטוי התאריך שצוין.

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

מחזיר מספר, בין 1 ל-53, שמקביל לשבוע בשנה בביטוי התאריך שצוין.

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

מחזיר את השנה בביטוי התאריך שצוין.

YEAR(expr)

עצות על שימוש בפונקציות תאריך

הנה כמה עצות להשגת התוצאות הטובות ביותר בעת שימוש בפונקציות תאריך בחוברות העבודה שלך לחישוב תקופות כספים, המרת מחרוזות לתאריכים, הצגת תאריך ושעה באזור זמן ספציפי וחישוב הפרשים לאורך זמן.

חשב שנת כספים, רבעון כספים וחודש כספים:

לתחומי נושא יש בדרך כלל ממד זמן, כך שאתה יכול להשתמש בתקופות מוגדרות מראש כגון רבעון כספי, חודש כספי ושבוע כספי. אם יש לך רק שדה תאריך, תוכל לחשב תקופות אלו בעצמך באמצעות פונקציות תאריך.

דוגמה זו מחשבת את רבעון הכספים:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)

דוגמה זו מחשבת שנת כספים וחודש כספים:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)

הערות:

  • || ערכים משורשרים.
  • cast (xxx(date) as char) שולף חלק משדה תאריך.
  • TIMESTAMPADD מוסיף (או מחסיר) תקופות מתאריך. דוגמה זו משתמשת בערך הפרמטר SQL_TSI_MONTH להוספת חודשים.

החישובים שלמעלה עובדים היטב בטבלאות, אך כאשר משתמשים בהם במסננים, המרווח בין הערכים המוחזרים עשוי להיראות מוזר. במקרה זה, השתמש בחישוב נקי אך מורכב יותר המבוסס על הדוגמאות הבאות:

'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')

המר מחרוזת לתאריך:

Oracle Analytics בונה פרופיל של הנתונים שלך ומספק המלצות העשרה לשליפה והמרה של תאריכים. אם אתה צריך להמיר מחרוזת לתאריך בעצמך, השתמש בעצות הבאות.
  • במעצב חוברת העבודה, נווט בחלונית הנתונים לעמודה שברצונך להמיר, ולאחר מכן לחץ באמצעות לחצן העכבר הימני ובחר המר לתאריך. הגדר את התאריך ולאחר מכן לחץ על הוסף שלב.

  • במעצב חוברת העבודה, נווט בחלונית הנתונים לעמודה שברצונך להמיר, ולאחר מכן לחץ באמצעות לחצן העכבר הימני ובחר ערוך. הגדר את התאריך ולאחר מכן לחץ על הוסף שלב.

    בתיבת הטקסט המכילה את שם העמודה שלך בכחול, הוסף To_DateTime( לפני שם העמודה, ולאחר מכן הוסף את פורמט התאריך שבו ברצונך להשתמש אחרי שם העמודה, ואחריו ), ולאחר מכן לחץ על הוסף שלב.
    להלן תיאור של GUID-ADBD035B-A62A-4DED-8768-553365BAABFE-default.png
    .png

    כאשר אתה משתמש באפשרות עריכה כדי ליצור את פונקציית המרת התאריך שלך, אתה יכול גם להשתמש ב-Allow_Variable_Digits כדי לעבד ערכי עמודות עם מספרים חד-ספרתיים דו-ספרתיים, וארגומנטים של Null_On_Error כדי לנטוש שורות שאינן תואמות לתבנית הנדרשת. ראה גם REPLACE ו-CAST לדרכים חלופיות לעיבוד נתונים שאינם תואמים לדפוס הנדרש.

    כחלופה לשימוש ב-To_DateTime(), השתמש ב-CAST() כדי לשנות את סוג הנתונים של ערך. לדוגמה, CAST(SalesDate AS DATE).

    בנוסף, השתמש באפשרות החלף. במעצב חוברת העבודה, נווט בחלונית הנתונים לעמודה שברצונך להמיר, ולאחר מכן לחץ באמצעות לחצן העכבר הימני ובחר החלף. הגדר את סוג ההחלפה הרצוי ולאחר מכן לחץ על הוסף שלב.

הצג שדה תאריך ושעה באזור זמן ספציפי:

השתמש בפונקציה NEW_TIME במסד הנתונים בשילוב עם EVALUATE. לדוגמה:

evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')

Make sure that the date field includes the time component.ודא ששדה התאריך כולל את רכיב הזמן.

חשב הפרש לאורך זמן:

כדי להראות את ההפרש במספר ובאחוזים בין עכשיו לאתמול, צור חישובים בהתבסס על הדוגמאות הבאות:
  • חשב מדידה עד אתמול: מסנן (מדוד באמצעות תאריך <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • חשב את ההפרש: מדידה - מסנן (מדוד באמצעות תאריך <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • חשב את אחוז ההפרש: 1-(מסנן (מדוד באמצעות תאריך <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/מדידה הצג כאחוז

הערות:

  • דוגמאות אלו משתמשות ב-SQL_TSI_DAY, אולם ניתן לחילופין להשתמש ב-WEEK ו-MONTH בשבוע מול שבוע וחודש מול חודש.
  • דוגמאות אלו עובדות עם לוח שנה רגיל או טבעי. אם אתה זקוק לחודשי כספים ורבעוני כספים, השתמש במשתני מאגר בחישובים שלך במקום ב-TIMESTAMPADD. לחלופין, שלב זאת עם העצה חשב שנת כספים, רבעון כספים וחודש כספים.
  • חלק מתחומי הנושא כוללים מדדי X קודמים מחושבים מראש כמו PY (שנה קודמת), PQ (רבעון קודם) שבהם אתה יכול להשתמש כדי לחשב הפרשים לאורך זמן.
  • לחלופין, אתה יכול להשתמש בפונקציות TIME SERIES: AGO, PERIODROLLING ו-TODATE. ראה פונקציות של סדרת זמן.