addWorkDays - Amazon QuickSight

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

addWorkDays

addWorkDays Ajoute ou soustrait un nombre déterminé de jours ouvrables à une valeur de date donnée. La fonction renvoie une date pour un jour ouvrable, qui tombe un nombre désigné de jours ouvrables après ou avant une valeur de date d'entrée donnée.

Syntaxe

addWorkDays(initDate, numWorkDays)

Arguments

initDate

Il s'agit d'une date valide non NULL qui sert de date de début pour le calcul.

  • Champ du jeu de données – Tout champ date du jeu de données auquel vous ajoutez cette fonction.

  • Fonction date – Toute date produite par une autre fonction date, par exemple parseDate, epochDate, addDateTime, etc.

    addWorkDays(epochDate(1659484800), numWorkDays)
  • Champs calculés : tout champ QuickSight calculé renvoyant une date valeur.

    calcFieldStartDate = addDateTime(10, “DD”, startDate) addWorkDays(calcFieldStartDate, numWorkDays)
  • Paramètres — N'importe quel QuickSight datetime paramètre.

    addWorkDays($paramStartDate, numWorkDays)
  • Toute combinaison des valeurs d'argument énoncées ci-dessus.

numWorkDays

Un entier non NULL qui sert de date de fin pour le calcul.

  • Littéral – Un entier littéral saisi directement dans l'éditeur d'expression.

  • Champ du jeu de données – Tout champ de date du jeu de données

  • Fonction ou calcul scalaire : toute QuickSight fonction scalaire renvoyant un entier en sortie depuis une autredecimalToInt, par exempleabs, etc.

    addWorkDays(initDate, decimalToInt(sqrt (abs(numWorkDays)) ) )
  • Champ calculé : tout champ QuickSight calculé renvoyant une date valeur.

    someOtherIntegerCalcField = (num_days * 2) + 12 addWorkDays(initDate, someOtherIntegerCalcField)
  • Paramètre — N'importe quel QuickSight datetime paramètre.

    addWorkDays(initDate, $param_numWorkDays)
  • Toute combinaison des valeurs d'argument énoncées ci-dessus.

Type de retour

Entier

Valeurs de sortie

Les valeurs de sortie attendues sont les suivantes :

  • Nombre entier positif (lorsque start_date < end_date)

  • Nombre entier négatif (lorsque start_date > end_date)

  • NULL lorsque l'un ou les deux arguments reçoivent une valeur nulle de la fonction dataset field.

Erreurs d'entrée

Les valeurs d'argument non autorisées provoquent des erreurs, comme le montrent les exemples suivants.

  • L'utilisation d'un littéral NULL comme argument dans l'expression n'est pas autorisée.

    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.
  • L'utilisation d'une chaîne littérale comme argument, ou de tout autre type de données autre qu'une date, dans l'expression n'est pas autorisée. Dans l'exemple suivant, la chaîne "2022-08-10" ressemble à une date, mais il s'agit en fait d'une chaîne de caractères. Pour l'utiliser, vous devez utiliser une fonction qui convertit le type de données en date.

    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.

Exemple

Un entier positif en tant qu'argument numWorkDays produira une date dans le futur de la date d'entrée. Un entier négatif comme argument numWorkDays donnera une date résultante dans le passé de la date d'entrée. Une valeur nulle pour l'argument numWorkDays donne la même valeur que la date d'entrée, qu'elle tombe ou non un jour ouvrable ou un week-end.

La fonction addWorkDays opère à la granularité : DAY. La précision ne peut être préservée à une granularité inférieure ou supérieure au niveau DAY.

addWorkDays(startDate, endDate)

Supposons qu'il existe un champ nommé employmentStartDate avec les valeurs suivantes :

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

En utilisant le champ ci-dessus et les calculs suivants, addWorkDays renvoie les valeurs modifiées comme indiqué ci-dessous :

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

L'exemple suivant calcule la prime totale au prorata à verser à chaque employé pour deux ans, en fonction du nombre de jours de travail effectif de chaque employé.

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