Función PYSTRING( )

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

Sintaxis

PYSTRING("ArchivoPy;FunciónPy"; longitud <;campo|valor <;...n>>)
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 cadena.

longitud numérico La longitud que se debe asignar para la cadena de retorno.
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

Carácter.

Ejemplos

Ejemplos básicos

Devuelve "mi prueba":

PYSTRING('hello,main'; 20; "mi")

Script externo de Python que acepta una cadena y concatena " prueba" a la cadena:

#! python
# hello.py content
def main(str):
    str2 = str + ' test'
    return(str2)

Ejemplos avanzados

Devolución de una subcadena

Este ejemplo quita los dos últimos caracteres del campo Nombre proveedor y devuelve la subcadena:

PYSTRING( "hello;sub_set"; LENGTH(Nombre_proveedor); ALLTRIM(Nombre_proveedor); LENGTH(ALLTRIM(Nombre_proveedor)); 0; LENGTH(ALLTRIM(Nombre_proveedor)) - 2)

Script externo de Python que acepta una cadena, una longitud de cadena y dos posiciones de caracteres. La función devuelve una subcadena entre la posición uno y la posición dos:

#hello.py content
def sub_set(str, length, p1, p2):
if p1 >= 0 and p2 < length and p1 < p2:
    str2 = str[p1:p2]
else:
    str2 = str
return str2
Guía de creación de scripts de ACL 14.1