添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
斯文的剪刀  ·  朋友们 ...·  1 月前    · 
坏坏的木耳  ·  应对气候变化·  1 月前    · 
文质彬彬的灌汤包  ·  Welcome To Cloth Heaven·  2 年前    · 

在時戳加上指定的間隔次數,並傳回單一時戳。

間隔選項包括: 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)

以下是在工作簿中使用日期函數計算會計期間、將字串轉換為日期、以特定時區顯示日期與時間以及計算一段時間的差異時,取得最佳結果的一些秘訣。

計算會計年度、季別和月份

主題區域一般都有時間維度,因此您可以使用預先設定的期間,例如會計季別、會計月份和會計週別。如果您只有日期欄位,那麼您便可使用日期函數自行計算這些期間。

以下範例計算會計季別:

'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( ,然後在資料欄名稱後加上要使用的日期格式,後面接著 ) ,然後按一下 新增步驟

    使用「編輯」選項建立日期轉換函數時,您也可以使用 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')
  • 確定日期欄位包含時間元件。

    計算一段時間的差異

    若要以數字和百分比顯示現在與昨天之間的差異,請參考以下範例來建立計算式:
  • 計算到昨天為止的計量: filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • 計算差異值: Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • 計算差異百分比: 1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure 以百分比顯示
  • 這些範例使用 SQL_TSI_DAY ,但您也可以選擇使用 WEEK 和 MONTH (逐週和逐月)。
  • 這些範例適用於一般行事曆或自然曆。如果需有會計月份和季別,請在計算式中改用儲存區域變數,而不要使用 TIMESTAMPADD。或者,將此與 計算會計年度、季別和月份 提示結合使用。
  • 部分主題區域包括預先計算的「上一 X」計量,例如 PY(上一年)、PQ(上一季),您可以使用這些計量來計算一段時間的差異。
  • 或者,您可以使用 TIME SERIES 函數:AGO、PERIODROLLING 和 TODATE。請參閱 時間序列函數
  •