EXAMPLES (TMS BEGIN 命令)
TMS BEGIN
/DESTINATION OUTFILE='/mydir/mytransformations.xml'.
COMPUTE modelvar=ln(var).
TMS END.
TMS BEGIN标记将评估以导出到 PMML 的变换命令块的开始。- 使用 log 函数变换变量 var 以创建要在模型中使用的变量 modelvar。 此变换的详细信息将作为 PMML 包含在文件 /mydir/mytransformations.xml中。
TMS END标记块的结尾并导致写入输出文件,但对块中包含的变换的状态没有影响。 在本示例中,用于创建 modelvar 的变换在块完成后仍处于暂挂状态。
TMS 块中的容许命令
TMS BEGIN
/DESTINATION OUTFILE='/mydir/mytransformations.xml'.
STRING new_strvar (A1).
RECODE strvar ('A','B','C'='A') ('D','E','F'='B') (ELSE=' ')
INTO new_strvar.
TMS END.
STRING命令用于创建新的字符串变量,该变量将作为现有字符串变量的重新编码变换的目标。STRING是一个容许的命令,因此它以正常方式执行,而不会生成错误或隐式结束TMS块。
导致隐式 TMS END 的命令
TMS BEGIN
/DESTINATION OUTFILE='/mydir/mytransformations.xml'.
RECODE numvar1 (0=1) (1=0) (ELSE=SYSMIS) INTO new_numvar1.
FREQUENCIES new_numvar1.
RECODE numvar2 (1 THRU 5=1)(6 THRU 10=2)(11 THRU HI=3)(ELSE=0)
INTO new_numvar2.
TMS END.
FREQUENCIES命令导致隐式结束TMS块,从而导致写入输出 PMML 文件。 输出文件仅包含 numvar1的重新编码变换 -- 即,导致隐式TMS END的命令之前的变换。- 虽然
FREQUENCIES命令隐式结束块,但 numvar2 的重新编码变换将以正常方式处理,并保持暂挂状态,直到读取活动数据集的下一个命令为止。 - 虽然我们已将其包含在此示例中,但当存在隐式结束
TMS块的命令时,不需要TMS END命令。 在此示例中,执行TMS END命令将生成一条警告,指示当前TMS命令没有生效。
在 TMS 块中使用 EXECUTE
TMS BEGIN
/DESTINATION OUTFILE='/mydir/mytransformations.xml'.
RECODE numvar1 (0=1) (1=0) (ELSE=SYSMIS) INTO new_numvar1.
RECODE numvar2 (1 THRU 5=1)(6 THRU 10=2)(11 THRU HI=3)(ELSE=0)
INTO new_numvar2.
EXECUTE.
- 您可以在
TMS块中包含EXECUTE。 通常,它将导致执行所有暂挂的变换。 此外,它会导致块的隐式结束,这将导致写入输出 PMML 文件。 - 在当前示例中,我们省略了
TMS END命令,因为该块由EXECUTE命令隐式结束。