Função PYDATE( )

Retorna um valor de data calculado por uma função em um script do Python externo. O processamento de dados no Python é externo ao Analytics.

Sintaxe

PYDATE("ArquivoPy; FunçãoPy" <; campo|valor <;...n>>)

Parâmetros

Nome Tipo Descrição
ArquivoPy; FunçãoPy

caractere

O nome do script do Python a ser executado, seguido por uma vírgula e o nome da função que retorna o valor:

"meuScript;minhaFunção"

Ao especificar o script do Python, omita a extensão do arquivo. A função chamada pode conter outras funções dentro do script ou de outros scripts. No entanto, todos os scripts executados devem ser colocados em uma pasta na variável de ambiente do sistema PYTHONPATH antes da execução.

Para obter mais informações, consulte Instale o Python versão 3.5.x (32 bits).

Nota

Sua PyFunção deve retornar um objeto datahora.date do Python.

campo|valor <;...n>

opcional

caractere

numérico

datahora

lógico

Essa é uma lista de campos, expressões ou valores literais para usar como argumentos para a função do Python. Os valores são passados para a função chamada na ordem em que são especificados.

Você pode incluir o número de argumentos necessário para atender à definição da função no script do Python.

Nota

Use a função ALLTRIM( ) para remover todos os espaços à esquerda ou à direita de entradas de caracteres: ALLTRIM(cadeia). Para obter mais informações, consulte Função ALLTRIM( ).

Saída

Datahora.

Exemplos

Exemplos básicos

Retorna `20160630`:

PYDATE('hello,due_date'; `20160531`; 30)

Script do Python externo que aceita uma data e um período de carência como um número de dias e calcula a data de vencimento da fatura. Para uma data de fatura de 2016-05-31 e um período de 30 dias: "2016-06-30":

#! python
from datetime import timedelta

def data_vencimento(data_fatura; período):
    return(data_fatura + timedelta(período))

Exemplos avançados

Definição de um campo calculado

Define um campo calculado na tabela Trans_Cp usando o script do Python que calcula a data de vencimento:

OPEN Trans_Cp
DEFINE FIELD data_vencimento COMPUTED 
WIDTH 27
    PYDATE("hello;due_date"; Data_Fatura; Período_pagamento)