PYDATE( ) 函数

返回由外部 Python 脚本中的函数计算的日期值。Python 中的数据处理存在于 Analytics 的外部。

语法

PYDATE("Python 文件,Python 函数" <, 域|值 <,...n>>)

参数

名称 类型 描述
Python 文件,Python 函数

字符

要运行的 Python 脚本的名称,后面依次跟一个逗号和返回值的函数的名称:

"myScript,myFunction"

指定 Python 脚本时,请省略文件扩展名。您所调用的函数可以调用该脚本或其他脚本内的其他函数,但所有脚本在运行之前都必须被放入 PYTHONPATH 系统环境变量中的文件夹内。

要了解更多信息,请参考配置 Python 以便与 Analytics 一起使用

说明

您的 PyFunction 必须返回一个 Python datetime.date 对象。

域|值 <,...n>

可选

字符

数值

日期时间

逻辑

这一包含域、表达式或字面量值的列表用作 Python 函数的参数。这些值被按照您指定它们的顺序传递给您调用的函数。

您可以根据需要包括任意数量的参数,以满足 Python 脚本中的函数定义的需要。

说明

请使用 ALLTRIM() 函数删除字符输入内容中的任何前导或结尾空格:ALLTRIM(str)。要了解更多信息,请参考ALLTRIM( ) 函数

输出

日期时间。

示例

基本示例

返回 `20160630`:

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

外部 Python 脚本,它接受一个日期和一个用天数表示的宽限期,并且计算发票的到期日期。对于发票日期 2016-05-31 和 30 天的宽限期:"2016-06-30":

#! python
from datetime import timedelta

def due_date(inv_date, period):
    return(inv_date + timedelta(period))

高级示例

定义一个计算域

使用计算到期日期的 Python 脚本在 Ap_Trans 表中定义一个计算域:

OPEN Ap_Trans
DEFINE FIELD due_date COMPUTED 
WIDTH 27
    PYDATE( "hello,due_date" ,Invoice_Date, Pay_Period)
ACL 脚本指南 14.1