دوال التاريخ والوقت

تعالج دوال التاريخ والوقت البيانات بناءً على DATE وDATETIME.

الدالة مثال الوصف الصياغة

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 صباحًا ويطابق الرقم 23 الساعة 11 مساءً.

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)

ملاحظات:

  • || قيمة متعاقبة.
  • استخراج (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( قبل اسم العمود، ثم أضف تنسيق التاريخ الذي تريد استخدامه بعد اسم العمود، متبوعًا بـ )، ثم انقر على Add Stepإضافة خطوة.
    فيما يلي وصف 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')

تأكد من أن حقل التاريخ يتضمن مكون الوقت.

احسب الفرق بمرور الوقت:

لإظهار الفرق في العدد والنسبة بين الآن والأمس، قم بتكوين حسابات بناءً على هذه الأمثلة:
  • حساب قياس حتى الأمس: المرشح (القياس باستخدام التاريخ <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • حساب الفرق: Measure - filter (Measure using 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. يرجى الاطلاع على دوال المتوالية الزمنية.