addWorkDays - Amazon QuickSight

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

addWorkDays

addWorkDays 會在指定日期值上加上或減去指定的工作天數。此函數傳回工作日的日期,該日期位於指定輸入日期值之後或之前的指定工作日天數。

語法

addWorkDays(initDate, numWorkDays)

引數

initDate

作為計算開始NULL日期的有效非日期。

  • 資料集欄位:您要在其中新增此函數的資料集中的任何 date 欄位。

  • 日期函數:從另一個 date 函數輸出的任何日期,例如 parseDateepochDateaddDateTime 等。

    addWorkDays(epochDate(1659484800), numWorkDays)
  • 導出欄位 — 傳回date值的任何 QuickSight 計算欄位。

    calcFieldStartDate = addDateTime(10, “DD”, startDate) addWorkDays(calcFieldStartDate, numWorkDays)
  • 參數 — 任何 QuickSightdatetime參數。

    addWorkDays($paramStartDate, numWorkDays)
  • 上述引數值的任意組合。

numWorkDays

作為計算結束日期的非NULL整數。

  • 常值:直接在表達式編輯器中鍵入的整數常值。

  • 資料集欄位:資料集中的任何日期欄位

  • 純量函數或計算 — 任何從另一個傳回整數輸出的純量 QuickSight 函數,例如 decimalToIntabs,等等。

    addWorkDays(initDate, decimalToInt(sqrt (abs(numWorkDays)) ) )
  • 導出欄位 — 傳回date值的任何 QuickSight 計算欄位。

    someOtherIntegerCalcField = (num_days * 2) + 12 addWorkDays(initDate, someOtherIntegerCalcField)
  • 參數 — 任何 QuickSightdatetime參數。

    addWorkDays(initDate, $param_numWorkDays)
  • 上述引數值的任意組合。

傳回類型

Integer

輸出值

預期輸出值包括:

  • 正整數 (當 start_date < end_date 時)

  • 負整數 (當 start_date > end_date 時)

  • NULL當其中一個或兩個引數從取得空值時dataset field

輸入錯誤

不允許的引數值會導致錯誤,如以下範例所示。

  • 不允許在運算式中使用常值NULL作為引數。

    addWorkDays(NULL, numWorkDays)
    Error At least one of the arguments in this function does not have correct type. Correct the expression and choose Create again.
  • 不允許在表達式中使用字串常值作為引數,或使用日期以外的任何其他資料類型。在下面的範例中,字串 "2022-08-10" 看似日期,但它實際上是一個字串。若要使用它,您必須使用可將其轉換為日期資料類型的函數。

    addWorkDays("2022-08-10", 10)
    Error Expression addWorkDays("2022-08-10", numWorkDays) for function addWorkDays has incorrect argument type addWorkDays(String, Number). Function syntax expects Date, Integer.

範例

將正整數作為 numWorkDays 引數將產生相對於輸入日期未來的日期。將負整數作為 numWorkDays 引數將產生相對於輸入日期過去的日期。numWorkDays 引數的值為零時會產生與輸入日期相同的值,無論該日期是工作日還是週末。

addWorkDays 函數的運作精細程度為:DAY。在低於或高於 DAY 精細程度的任何精細程度下都無法保持準確性。

addWorkDays(startDate, endDate)

假設有一個名為 employmentStartDate 的欄位,其值如下:

2022-08-10 2022-08-06 2022-08-07

使用上述欄位和以下計算,addWorkDays 傳回的修改後的值如下所示:

addWorkDays(employmentStartDate, 7) 2022-08-19 2022-08-16 2022-08-16 addWorkDays(employmentStartDate, -5) 2022-08-02 2022-08-01 2022-08-03 addWorkDays(employmentStartDate, 0) 2022-08-10 2022-08-06 2022-08-07

以下範例根據每位員工實際工作天數,計算 2 年內按比例支付給每位員工的獎金總額。

last_day_of_work = addWorkDays(employment_start_date, 730) total_days_worked = netWorkDays(employment_start_date, last_day_of_work) total_bonus = total_days_worked * bonus_per_day
Data table showing employee bonus calculations with fields for ID, dates, days worked, and bonus amounts.