本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
addWorkDays
addWorkDays
會在指定日期值上加上或減去指定的工作天數。此函數傳回工作日的日期,該日期位於指定輸入日期值之後或之前的指定工作日天數。
語法
addWorkDays(
initDate
,numWorkDays
)
引數
- initDate
-
充當計算開始日期的有效非 NULL 日期。
-
資料集欄位:您要在其中新增此函數的資料集中的任何
date
欄位。 -
日期函數:從另一個
date
函數輸出的任何日期,例如parseDate
、epochDate
、addDateTime
等。addWorkDays(
epochDate(1659484800)
,numWorkDays
) -
計算欄位:任何傳回
date
值的 QuickSight 計算欄位。calcFieldStartDate = addDateTime(
10
, “DD
”,startDate
) addWorkDays(calcFieldStartDate
,numWorkDays
) -
參數:任何 QuickSight
datetime
參數。addWorkDays($
paramStartDate
,numWorkDays
) -
上述引數值的任意組合。
-
- numWorkDays
-
充當計算結束日期的非 NULL 整數。
-
常值:直接在表達式編輯器中鍵入的整數常值。
-
資料集欄位:資料集中的任何日期欄位
-
純量函數或計算:從另一個傳回整數輸出的任何純量 QuickSight 函數,例如
decimalToInt
、abs
等。addWorkDays(
initDate
,decimalToInt(sqrt (abs(numWorkDays)) )
) -
計算欄位:任何傳回
date
值的 QuickSight 計算欄位。someOtherIntegerCalcField =
(num_days * 2) + 12
addWorkDays(initDate
,someOtherIntegerCalcField
) -
參數:任何 QuickSight
datetime
參數。addWorkDays(
initDate
, $param_numWorkDays
) -
上述引數值的任意組合。
-
傳回類型
Integer
輸出值
預期輸出值包括:
-
正整數 (當 start_date < end_date 時)
-
負整數 (當 start_date > end_date 時)
-
當一個或兩個引數從
dataset field
取得 null 值時為 NULL。
輸入錯誤
不允許的引數值會導致錯誤,如以下範例所示。
-
不允許在表達式中使用常值 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
