Función PYDATETIME( )

Devuelve un valor de fechahora calculado por una función en un script externo de Python. El procesamiento de datos de Python se hace fuera de Analytics.

Sintaxis

PYDATETIME("ArchivoPy;FunciónPy" <; campo|valor <;...n>>)

Parámetros

Nombre Tipo Descripción
ArchivoPy;FunciónPy

carácter

El nombre del script Python que se debe ejecutar, seguido de una coma y, a continuación, el nombre de la función que devuelve el valor:

"myScript,myFunction"

Al especificar el script de Python, omita la extensión del archivo. La función que invoque puede invocar a otras funciones dentro del script o dentro de otros scripts; sin embargo, todos los scripts que se ejecuten se deben colocar dentro de una carpeta de la variable de entorno del sistema PYTHONPATH antes de la ejecución.

Si desea obtener más información, consulte Configuración de Python para uso con Analytics.

Nota

Su PyFunction debe devolver un objeto Python datetime.

campo |valor <;...n>

opcional

carácter

numérico

fechahora

lógico

Esta lista de campos, expresiones o valores literales que se deben utilizar como argumentos para la función de Python. Los valores se pasan a la función que invoca en el orden en que los especifique.

Puede incluir tantos argumentos como sea necesario para satisfacer la definición de la función en el script de Python.

Nota

Utilice la función ALLTRIM() para quitar los espacios al principio o al final en las entradas de caracteres: ALLTRIM(str). Si desea obtener más información, consulte Función ALLTRIM( ).

Salida

Fechahora.

Ejemplos

Ejemplos básicos

Devuelve `20170101t0500`:

PYDATETIME("hello, combine_date_time"; `20170101`; `t0500`)

El script externo de Python acepta un argumento de fecha y un argumento de hora, y devuelve un objeto fechahora combinado:

# hello.py content
from datetime import datetime

def combine_date_time(d,t):
    return datetime.combine(d,t)

Ejemplos avanzados

Agregar la hora a la fechahora

Devuelve `20160101t2230`:

PYDATETIME("hello,add_time"; `20160101 150000`; `t073000`)

Script externo de Python que acepta una fechahora y una hora, y agrega la hora a la fechahora: 2016-01-01 15:00:00 + 7 horas, 30 minutos, 00 segundos = 2016-01-01 22:30:00.

# hello.py content
from datetime import timedelta
from datetime import datetime
from datetime import time
def add_time(start, time_to_add):
    return start + timedelta(hours=time_to_add.hour, minutes=time_to_add.minute, seconds=time_to_add.second)
Guía de creación de scripts de ACL 14.1