Todos os produtos
Search
Central de documentação

DataWorks:Formatos de parâmetros de agendamento

Última atualização: Nov 01, 2026

Os parâmetros de agendamento substituem dinamicamente valores baseados em tempo no código durante a execução, eliminando a necessidade de codificar datas fixas em fluxos de trabalho recorrentes. Este tópico descreve os formatos suportados e o uso dos valores de parâmetro.

Importante

Certifique-se de entender como configurar parâmetros de agendamento. Para mais detalhes, consulte Configure and use scheduling parameters.

Conceitos fundamentais: Linhas de base de tempo

Os parâmetros de tempo substituem dinamicamente strings de tempo durante a execução. Todos os parâmetros de tempo no DataWorks baseiam-se nas duas linhas de base de tempo principais a seguir.

Conceito

Descrição

Padrão

Formato personalizado

Precisão

Data de negócio

O dia anterior à data de execução agendada da tarefa. Em cenários de computação offline T+1, representa a data em que os dados de negócio foram gerados.

Por exemplo, se você executar uma tarefa hoje para calcular a receita de vendas de ontem, "ontem" refere-se à data em que as transações ocorreram, ou seja, a data de negócio.

${yyyymmdd}

${...}

Ano-mês-dia

Hora agendada

A scheduled time definida na configuração de agendamento da tarefa. Durante a execução, o sistema a resolve como o dia atual. Representa o horário teórico de execução da tarefa e não sofre alterações devido a filas de recursos ou atrasos.

$[yyyymmddhh24miss]

$[...]

Ano-mês-dia-hora-minuto-segundo

Resumo:

  • Data de negócio ≈ Ontem (a data dos dados)

  • Hora agendada ≈ Hoje (o momento em que a tarefa é executada)

Uma tarefa típica de T+1 inicia na madrugada de hoje (hora agendada) para processar dados de ontem (data de negócio).

Expressão de valor de parâmetro

Os parâmetros de agendamento suportam os seguintes tipos de valores:

  • Parâmetros de tempo personalizados: Expressões como ${...} e $[...] que transformam valores com base nas duas linhas de base de tempo: data de negócio e hora de agendamento. Para mais informações, consulte Custom time parameters.

  • Parâmetros de sistema integrados: Variáveis predefinidas, como $bizdate, $bizmonth e $jobid, que retornam valores como a data de negócio, mês de negócio ou ID do fluxo de trabalho. Estes não se limitam a valores baseados em tempo. Para mais informações, consulte Built-in system parameters.

  • Constantes: Valores literais, como '123' e 'abc'.

Importante

Restrições de caracteres especiais: As expressões de parâmetro não podem conter espaços ou o sinal de igual (=).

Uso

image

Defina a lógica de atribuição de um parâmetro de agendamento especificando um nome de parâmetro e um valor de parâmetro na seção Scheduling Parameter > scheduling configuration. Após definir o parâmetro, referencie-o no código usando a sintaxe ${parameter name}. Para instruções detalhadas, consulte Configure and use scheduling parameters.

  • Utilize os system built-in parameters $bizdate e $cyctime para representar a data de negócio e a hora agendada. Esses parâmetros resolvem para os seguintes valores:

    • $bizdate=${yyyymmdd}

    • $cyctime=$[yyyymmddhh24miss]

      image

      image

      Os exemplos anteriores mostram as definições de parâmetro para $bizdate (resolvendo para ${yyyymmdd} ) e $cyctime (resolvendo para $[yyyymmddhh24miss] ), além dos resultados de visualização quando a data de negócio é 2025-10-16.
  • Caso os valores padrão de hora base não atendam às suas necessidades, utilize a sintaxe ${...} e $[...] para transformar as duas horas base em parâmetros de tempo personalizados.

Parâmetros de tempo personalizados

O DataWorks permite recuperar a data de negócio e a hora de agendamento usando os formatos ${...} e $[...], respectivamente. Esses formatos possibilitam a transformação de valores de tempo para atender aos requisitos de negócio. Os exemplos a seguir consideram um nó agendado para execução diária às 02:30:45, com data de negócio 20251031. As horas de linha de base são:

  • Data de negócio: O valor de ${yyyymmdd} é 20251031.

  • Hora de agendamento: O valor de $[yyyymmddhh24miss] é 20251101023045.

Principais diferenças entre ${...} e $[...]

Os formatos ${...} e $[...] diferem em suas linhas de base de tempo e capacidades de cálculo. Misturá-los pode causar erros nos dados.

Comparação

${...} (Data de negócio)

$[...] (Hora agendada)

Linha de base de tempo

Data de negócio (T-1)

Hora agendada (T)

Precisão de tempo

Dia (ano, mês, dia)

Segundo (ano, mês, dia, hora, minuto, segundo)

Deslocamentos suportados

Suporta cálculos de deslocamento para ano, mês, semana e dia.

Suporta cálculos de deslocamento para dia, hora e minuto.

Limitações principais

Não suporta formatação ou cálculos de deslocamento para unidades de tempo menores, como horas, minutos ou segundos.

Deslocamentos diretos de ano ou mês usando sintaxe como $[yyyy±N] ou $[mm±N] não são suportados. É necessário usar a função add_months para esses deslocamentos.

Parâmetro de sistema equivalente

${yyyymmdd} equivale a $bizdate

$[yyyymmddhh24miss] equivale a $cyctime

Formatação de tempo

Use os formatos ${...} ou $[...] para gerar parâmetros de tempo. Combine códigos de formato como yyyy, yy, mm e dd para gerar datas N anos, meses ou dias antes ou depois da data de negócio.

Código

Descrição

${...} (Data de negócio)

$[...] (Hora agendada)

Exemplo

Resultado

Exemplo

Resultado

yyyy

Ano com 4 dígitos

${yyyy}

2025

$[yyyy]

2025

mm

Mês com 2 dígitos

${mm}

10

$[mm]

11

dd

Dia com 2 dígitos

${dd}

31

$[dd]

01

hh24

Hora no formato de 24 horas

Não suportado (precisão de nível de dia)

-

$[hh24]

02

hh / hh12

Hora no formato de 12 horas

-

$[hh]

02

mi

Minuto

-

$[mi]

30

ss

Segundo

-

$[ss]

45

yyyymm

Ano e mês

${yyyymm}

202510

$[yyyymm]

202511

yyyy_mm

Ano e mês formatados com sublinhado

${yyyy_mm}

2025_10

$[yyyy_mm]

2025_11

yyyy-mm-dd

Data formatada com hifens

${yyyy-mm-dd}

2025-10-31

$[yyyy-mm-dd]

2025-11-01

yyyy-mm-dd hh24:mi:ss

Data e hora formatadas com hifens e dois-pontos

Não suportado (precisão de nível de dia)

-

Este formato pode ser obtido usando concatenação de strings. Consulte String concatenation: Case 2.

Cálculo de deslocamento

O cálculo de deslocamento permite adicionar ou subtrair tempo de uma data de negócio ou hora de agendamento. Aplique deslocamentos de N anos, meses, dias, horas ou minutos em relação à linha de base de tempo. Deslocamentos de hora e minuto são suportados apenas para a hora de agendamento. As capacidades de deslocamento de ${...} e $[...] diferem porque suportam níveis distintos de precisão de tempo.

  1. Cálculo de deslocamento de ${...}

    • Capacidade principal: Suporta deslocamentos inteiros para anos, meses, semanas e dias.

      Importante

      Deslocamentos de horas e minutos não são suportados. Por exemplo, ${yyyy-mm-dd-1/24} é uma sintaxe inválida.

    • Sintaxe: ${<time_format><±N>}, onde a unidade de N é a menor unidade no formato, como yyyymm ou yyyymmdd.

      Requisito

      Unidade de deslocamento

      Sintaxe

      Exemplo

      N anos antes/depois

      Ano

      ${yyyy±N} ou ${yy±N}

      Obter o ano anterior: ${yyyy-1}

      N meses antes/depois

      Mês

      ${yyyymm±N}

      Obter o mês anterior: ${yyyymm-1}

      N semanas antes/depois

      Semana

      ${yyyymmdd±7*N}

      Obter a semana anterior: ${yyyymmdd-7*1}

      N dias antes/depois

      Dia

      ${yyyymmdd±N}

      Obter o dia anterior: ${yyyymmdd-1}

  2. Cálculo de deslocamento de $[...]

    • Capacidade principal: Suporta deslocamentos fracionários para dias, horas e minutos.

      Importante

      O formato $[...] não aceita expressões como $[yyyy-N] ou $[mm-N] para recuperar datas de N anos ou meses atrás. Para realizar deslocamentos de ano ou mês, use obrigatoriamente a função add_months.

    • Sintaxe: $[<time_format><±N>] , onde N representa uma fração de um dia: use N/24 para um deslocamento de N horas e N/24/60 para um deslocamento de N minutos.

      Requisito

      Unidade de deslocamento

      Sintaxe

      Exemplo

      N anos antes/depois

      Ano

      N anos depois: $[add_months(yyyymmdd,12N)]
      N anos antes: $[add_months(yyyymmdd,-12N)]



      Obter o ano anterior: $[add_months(yyyymmdd,-12)]

      N meses antes/depois

      Mês

      N meses depois: $[add_months(yyyymmdd,N)]
      N meses antes: $[add_months(yyyymmdd,-N)]



      Obter o mês anterior: $[add_months(yyyymmdd,-1)]
      Obter o próximo mês: $[add_months(yyyy_mm,1)]

      N semanas antes/depois

      Semana

      $[yyyymmdd±7*N]

      Obter a semana anterior: $[yyyymmdd-7*1]

      N dias antes/depois

      Dia

      $[yyyymmdd±N]

      Obter o dia anterior (ontem): $[yyyymmdd-1]

      N horas antes/depois

      Hora

      Formatos disponíveis:

      • $[hh24miss±N/24], $[hh24±N/24]

      • $[<custom_time_format>±N/24]

      Obter a hora anterior em diferentes formatos:

      • Mês: $[mm-1/24]

      • Ano: $[yyyy-1/24]

      • Ano e mês: $[yyyymm-1/24]

      • Ano, mês e dia: $[yyyymmdd-1/24]

      • Dia anterior e hora anterior: $[yyyymmdd-1-1/24]

      N minutos antes/depois

      Minuto

      Formatos disponíveis:

      • $[hh24miss±N/24/60]

      • $[yyyymmddhh24miss±N/24/60]

      • $[mi±N/24/60]

      • $[<custom_time_format>±N/24/60]

      Obter o horário 15 minutos antes da hora agendada em diferentes formatos:

      • $[yyyy-15/24/60]

      • $[yyyymm-15/24/60]

      • $[yyyymmdd-15/24/60]

      • $[hh24-15/24/60]

      • $[mi-15/24/60]

      Deslocamento combinado

      Dia + Hora

      $[yyyymmdd±N±M/24], onde N é o deslocamento de dias e M é o deslocamento de horas.

      Exemplo: Obter o horário do dia anterior e da hora anterior → $[yyyymmdd-1-1/24]

      Nota
      • Tratamento de mudança de dia: Deslocamentos de horas e minutos podem resultar em um horário que cruza o limite de um dia. Para detalhes sobre como lidar com isso, consulte How to handle cross-day parameter replacement when offsetting by one hour.

      • Calibração de fim de mês: Ao aplicar um deslocamento de mês a uma data de fim de mês, se o mês alvo tiver menos dias, o resultado será automaticamente calibrado para o último dia desse mês. Por exemplo, subtrair um mês de 2025-03-31 retorna 2025-02-28, pois fevereiro não tem 31 dias.

Transformação secundária usando funções do mecanismo

Se os recursos integrados de formatação e deslocamento não conseguirem produzir o valor exato necessário (por exemplo, o último dia do mês anterior), aplique uma transformação secundária usando as funções do mecanismo do nó ou um nó de atribuição.

Consulte: Typical scenarios for secondary processing of scheduling parameter return values .

Concatenação de strings

Utilize a concatenação de strings para construir strings de data estruturadas não suportadas pela sintaxe integrada. Esse método combina uma parte da data gerada por um parâmetro de agendamento com uma string constante.

Caso 1: Obter dinamicamente o primeiro dia de cada mês

  • Cenário: Você precisa de uma string que represente o primeiro dia do mês atual no formato yyyymm01, independentemente do dia em que a tarefa for executada.

  • Implementação:

    1. Extraia a parte do ano e mês: Use ${yyyymm} para obter o ano e o mês da data de negócio atual. Por exemplo, se a data de negócio for 20231027, o resultado será 202310.

    2. Concatene o ano e mês extraídos com a string constante '01'.

    3. Chamada do parâmetro: first_day_of_month=${yyyymm}01

  • Resultado: Quando a tarefa for executada, ${first_day_of_month} será substituído por 20231001.

Caso 2: Gerar um carimbo de data/hora no formato yyyy-mm-dd hh24:mi:ss**

  • Cenário: Você precisa gerar um carimbo de data/hora no formato yyyy-mm-dd hh24:mi:ss, como 2023-11-01 02:30:45.

  • Implementação:

    1. Defina dois parâmetros, datetime1 e datetime2. Configure-os da seguinte forma: datetime1=$[yyyy-mm-dd] e datetime2=$[hh24:mi:ss].

    2. Concatene os parâmetros datetime1 e datetime2, separados por um espaço.

    3. Chamada do parâmetro: pt=${datetime1} ${datetime2}

  • Resultado: Quando a tarefa for executada, ${datetime1} ${datetime2} será substituído por 2023-11-01 02:30:45.

Parâmetros de sistema integrados

O DataWorks fornece os seguintes parâmetros de sistema integrados. Devido aos seus formatos de tempo fixos e flexibilidade limitada, recomenda-se o uso de parâmetros de tempo personalizados.

Parâmetro

Descrição

$bizdate

A data de negócio no formato yyyymmdd, consistente com o parâmetro personalizado ${yyyymmdd}.

Geralmente assume como padrão o dia anterior à hora de execução agendada da tarefa.

$cyctime

A hora agendada no formato yyyymmddhh24miss, equivalente ao parâmetro personalizado $[yyyymmddhh24miss].

$gmtdate

A data atual no formato yyyymmdd.

Assume como padrão a data atual. Para um backfill de dados, a data é business date + 1.

$bizmonth

O mês de negócio no formato yyyymm.

  • Se a data de negócio estiver no mês atual, então $bizmonth = business_date_month - 1.

  • Se o mês da data de negócio não for o mesmo que o mês atual, então $bizmonth = the month of the business date.

$jobid

O ID do fluxo de trabalho que contém a tarefa.

$nodeid

O ID do nó.

$taskid

O ID da instância gerada pelo nó.

Exemplos de substituição de parâmetros

O valor de substituição de um parâmetro de agendamento é determinado quando uma instância é criada e não é afetado pela hora real de início.

image

Cenário 1: Agendamento normal

No agendamento normal, a substituição de parâmetros baseia-se em duas linhas de base de tempo: a data de negócio e a hora de agendamento.

  • ${...} (data de negócio): O valor deriva da data de negócio da instância.

  • $[...] (hora agendada): O valor deriva da hora de agendamento da instância.

Por exemplo, considere uma tarefa diária chamada A, agendada para execução às 00:00 com os seguintes parâmetros:

  • yesterday=${yyyymmdd}

  • today=$[yyyymmddhh24miss]

A tabela a seguir mostra como esses parâmetros são substituídos para uma instância específica:

Hora agendada

Data de negócio

yesterday=${yyyymmdd}

today=$[yyyymmddhh24miss]

2025-3-15 00:00:00

2025-3-14

20250314

20250315000000

Cenário 2: Backfill de dados

Durante um backfill de dados, a lógica de substituição de parâmetros muda com base na data de negócio selecionada. Isso afeta especialmente os parâmetros que dependem da hora de agendamento.

  • ${...} (data de negócio): A linha de base é a data de negócio selecionada manualmente.

  • $[...] (hora agendada): A linha de base é a data de negócio selecionada manualmente + 1 dia.

Por exemplo, se você fizer o backfill da tarefa A com 2025-03-15 como data de negócio:

Data de negócio selecionada

yesterday=${yyyymmdd}

today=$[yyyymmddhh24miss]

2025-03-15

20250315

20250316000000 (A linha de base é 2025-03-15 + 1 day)

Perguntas frequentes

Para dúvidas sobre parâmetros de agendamento, consulte Scheduling Parameters FAQ.

Documentos relacionados