addWorkDays - Amazon QuickSight

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

addWorkDays

addWorkDays adiciona ou subtrai um número designado de dias úteis a um determinado valor de data. A função retorna a data de um dia útil, que corresponde aos dias úteis designados após ou antes de um determinado valor de data de entrada.

Sintaxe

addWorkDays(initDate, numWorkDays)

Argumentos

initDate

Uma data válida não nula que atua como a data de início do cálculo.

  • Campo do conjunto de dados: qualquer campo de date do conjunto de dados ao qual você está adicionando essa função.

  • Função de data: qualquer saída de data de outra função de date, por exemplo parseDate, epochDate, addDateTime e assim por diante.

    addWorkDays(epochDate(1659484800), numWorkDays)
  • Campos calculados — Qualquer campo QuickSight calculado que retorne um date valor.

    calcFieldStartDate = addDateTime(10, “DD”, startDate) addWorkDays(calcFieldStartDate, numWorkDays)
  • Parâmetros — Qualquer QuickSight datetime parâmetro.

    addWorkDays($paramStartDate, numWorkDays)
  • Qualquer combinação dos valores dos argumentos acima indicados.

numWorkDays

Um número inteiro não NULO que atua como a data final do cálculo.

  • Literal: um número inteiro literal digitado diretamente no editor de expressões.

  • Campo do conjunto de dados: qualquer campo de data do conjunto de dados

  • Função ou cálculo escalar — Qualquer QuickSight função escalar que retorna uma saída inteira de outra, por exemplo decimalToIntabs, e assim por diante.

    addWorkDays(initDate, decimalToInt(sqrt (abs(numWorkDays)) ) )
  • Campo calculado — Qualquer campo QuickSight calculado que retorne um date valor.

    someOtherIntegerCalcField = (num_days * 2) + 12 addWorkDays(initDate, someOtherIntegerCalcField)
  • Parâmetro — Qualquer QuickSight datetime parâmetro.

    addWorkDays(initDate, $param_numWorkDays)
  • Qualquer combinação dos valores dos argumentos acima indicados.

Tipo de retorno

Inteiro

Valores de saída

Os valores de saída esperados incluem os seguintes:

  • número inteiro positivo (quando start_date < end_date);

  • número inteiro negativo (quando start_date > end_date);

  • NULL, quando um ou ambos os argumentos obtêm um valor nulo do dataset field.

Erro de entrada

Valores de argumentos não permitidos causam erros, conforme mostrado nos exemplos a seguir.

  • Não é permitido usar um NULL literal como argumento na expressão.

    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.
  • Não é permitido usar um literal de string como argumento, ou qualquer outro tipo de dados que não seja uma data, na expressão. No exemplo a seguir, a string "2022-08-10" parece uma data, mas na verdade é uma string. Para usá-la, você precisaria usar uma função que converta em um tipo de dados de data.

    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.

Exemplo

Um número inteiro positivo como argumento numWorkDays produzirá uma data futura da data de entrada. Um número inteiro negativo como argumento numWorkDays produzirá uma data resultante no passado da data de entrada. Um valor zero para o argumento numWorkDays produz o mesmo valor da data de entrada, independentemente de ela cair em um dia útil ou em um fim de semana.

A função addWorkDays opera na granularidade: DAY. A precisão não pode ser preservada em nenhuma granularidade inferior ou superior ao nível DAY.

addWorkDays(startDate, endDate)

Vamos supor que haja um campo chamado employmentStartDate com os seguintes valores:

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

Usando o campo acima e os cálculos a seguir, addWorkDays retorna os valores modificados, conforme mostrado abaixo:

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

O exemplo a seguir calcula o bônus total proporcional a ser pago a cada funcionário por dois anos, com base em quantos dias cada funcionário realmente trabalhou.

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