SET 命令

设置可配置的 Analytics 选项。

说明

SET 命令仅在 Analytics 会话期间设置 Analytics 选项。无论您是在 Analytics 命令行中还是在 Analytics 脚本中使用 SET 命令,此行为均适用。

要设置 Analytics 选项以使其在 Analytics 会话之间持续有效,您必须使用选项对话框。选项对话框中只有一部分选项可用。要了解更多信息,请参考配置 Analytics 选项

 

SET BEEP SET LEARN SET READAHEAD
SET CENTURY SET LOCKAUTOSAVEFILE SET RETRY
SET CLEAN SET LOG SET RETRYIMPORT
SET DATE SET LOOP SET SAFETY
SET DELETE_FILE SET MARGIN SET SEPARATORS
SET DESIGNATION SET MATH SET SESSION
SET ECHO SET MONTHS SET SORTMEMORY
SET EXACT SET NOTIFYFAILSTOP SET SUPPRESSTIME
SET FILTER SET NOTIFYRETRYATTEMPTS SET SUPPRESSXML

SET FOLDER

SET NOTIFYRETRYINTERVAL SET TEST

SET FORMAT

SET ORDER SET TIME
SET FUZZYGROUPSIZE SET OVERFLOW SET UTCZONE
SET GRAPH SET PASSWORD SET VERIFY
SET HISTORY SET PERIODS SET WIDTH
SET INDEX SET PICTURE  

语法

语法

示例和备注

SET BEEP 数值

SET BEEP 2

默认设置:0

指定命令处理完成后发出蜂鸣音的次数。

数值参数必须介于 0 至 255 之间。若将数值指定为 0,会关闭蜂鸣音。

选项对话框:界面选项

SET CENTURY 数值

SET CENTURY 40

默认设置:40

指定两位数年份格式的世纪起点年份。

数值参数必须是 0 到 99。

将世纪起点值设置为 40 意味着两位数的年份 40 到 99 被解释为 1940 到 1999,而两位数的年份 00 到 39 被解释为 2000 到 2039。

选项对话框:日期和时间选项

SET CLEAN {ON | OFF}

SET CLEAN ON

如果启用此选项,则 Analytics 会将无效字符数据替换为空白,将无效数值数据替换为 0。

SET DATE <TO> {0 | 1 | 2 | 字符串}

SET DATE "YYYY/MM/DD"

默认设置:MM/DD/YYYY

指定视图、报告和导出文件中日期以及日期时间的日期部分的显示格式。

  • 0 将日期设置为 MM/DD/YYYY 格式。

  • 1 将日期设置为 MM/DD/YY 格式。

  • 2 将日期设置为 DD/MM/YY 格式。

  • 字符串 将日期设置为您指定的自定义格式。

    在使用 SET DATE 命令指定自定义日期格式时,您必须对日使用 'D',对月使用 'M',对年使用 'Y' ,即使您已经在选项对话框中指定了不同的日期格式字符。例如:

    SET DATE "DD MMM YYYY"

选项对话框:日期和时间选项

SET DELETE_FILE {ON | OFF}

SET DELETE_FILE ON

默认设置:OFF

控制在删除表布局时,是否自动删除与表布局关联的数据文件 (*.fil)。

  • ON 自动删除关联的数据文件。

  • OFF 不删除关联的数据文件。

注意

在启用此选项时请务必小心。它可能是与表格一起删除的原始数据文件。

数据文件被彻底删除。它们不会被发送到 Windows 回收站。

您必须在 DELETE_FILE 中包括下划线 ( _ ) 。

在命令行指定不带任何参数的 SET DELETE_FILE 时,会显示 DELETE_FILE 当前是打开还是关闭。

选项对话框:表选项

SET DESIGNATION

SET DESIGNATION "ABC 公司印制"

参数是带引号的字符串,用于指定在每个打印页面顶部显示的标签。

选项对话框:视图选项

SET ECHO {ON | NONE}

SET ECHO NONE
脚本中的 COMMENT 命令和结果均已从日志中排除。
SET ECHO ON

控制是否将脚本中的命令和结果保存到 Analytics 命令日志。

  • ON 脚本中的命令和结果均保存到命令日志。

  • NONE 脚本中的命令和结果不予保存到命令日志。

说明

SET ECHO 命令仅适用于脚本中的命令和结果日志记录。无论您如何设置 ECHO,将会始终记录通过 Analytics 用户界面执行或从命令行发出的命令,以及这些命令产生的任何结果。

在命令行指定不带任何参数的 SET ECHO 时,会显示在脚本中记录命令和结果的功能当前是打开还是关闭。

SET EXACT {ON | OFF}

SET EXACT ON

默认设置:OFF

控制 Analytics 比较字符域、表达式或字面量值的方式。

说明

空格被视为字符。

  • ON 比较字符串必须完全相同才能匹配。在比较两个长度不相等的字符串时,Analytics 用后继空格填充较短的字符串,以匹配较长字符串的长度。

    例如,"AB" 等于 "AB",但它不会被视为等于 "ABC"。

  • OFF Analytics 在比较两个长度不相等的字符串时,会使用较短的字符串。比较从最左侧的字符开始并向右移动。

    例如,"AB" 等于 "AB",而且还被认为等于 "ABC"。

有关演示 SET EXACT 的更多示例,请参见表选项中的“精确字符比较”。

您可以使用 ALLTRIM( ) 函数移除前导和后继空格,并且确保只对文本字符和内部空格进行比较。

例如:当这些值被用 ALLTRIM( ) 包裹时,ALLTRIM(" AB") = ALLTRIM("AB") 为真,否则为假。

一些 Analytics 命令和函数受到 SET EXACT 的影响,而另一些则不会受影响:

受影响 不受影响
  • LOCATE 命令
  • MATCH( ) 函数
  • BETWEEN( ) 函数
  • JOIN 命令
  • DEFINE RELATION 命令
  • FIND( ) 函数
  • FINDMULTI( ) 函数

选项对话框:表选项

SET FILTER <TO> {测试|过滤器名称}

SET FILTER TO 产品编号 = "070104347"
SET FILTER TO ProdNoFilter

在打开的表上创建一个全局过滤器(视图过滤器),并且指定一个逻辑测试或者现有已保存过滤器的名称。

指定不带任何参数的 SET FILTER 可从打开的表中删除任何过滤器。

SET FOLDER 文件夹路径

SET FOLDER /表/结果

为命令输出指定概览选项卡的 Analytics 项目文件夹。默认输出文件夹为包含活动表的文件夹。

这是使用 /文件夹名/子文件夹名格式的 DOS 样式路径,其中,起始斜杠 (/) 表示概览选项卡中的根级别。您必须指定完整文件路径。

  • SET FOLDER /表/结果 将输出文件夹设置为“结果”子文件夹。如果“结果子文件夹”不存在,则创建它。

  • SET FOLDER / 将输出文件夹设置为概览选项卡中的根级别。

  • SET FOLDER 将输出文件夹设置为默认文件夹(包含活动表的文件夹)

输出文件夹按照您的设置保持,除非您重设或关闭项目。打开项目时,输出文件夹还原成活动表文件夹的默认状态。

SET FORMAT {ON | OFF}

SET FORMAT ON

默认设置:OFF

控制在打开新表时,Analytics 是否自动显示当前的表布局和计算字段定义。

  • ON 自动显示当前的表布局和计算字段定义。结果也会保存在命令日志中。

  • OFF 不显示当前的表布局和计算字段定义。

选项对话框:表选项

SET FUZZYGROUPSIZE <TO> 数值

SET FUZZYGROUPSIZE TO 10

默认设置:20 个条目

指定在输出结果中可显示在模糊重复组中的条目最大值。数值参数不能小于 2 或大于 100。指定的大小在 Analytics 会话持续期间保持有效。

SET GRAPH 类型

SET GRAPH LINE

指定所有后续生成图表要使用的图表类型。命令运行必须与指定图表类型兼容。例如,BENFORD 命令不能生成 PIE2D 或 PIE3D 图。如果指定了不兼容图表类型,则使用默认图表类型 (BAR3D)。

类型参数必须是以下之一:

  • PIE2D

  • PIE3D

  • BAR2D

  • BAR3D – 这是默认图表类型。

  • STACKED2D

  • STACKED3D

  • LAYERED

  • LINE

  • BENFORD – 结合 2D 条形图和 2D 线形图。

SET HISTORY <TO> 数值

SET HISTORY TO 50

指定要保留的表历史记录条目的最大值。参数必须在 1 和 100 之间。

SET INDEX <TO>

SET INDEX TO "CustomerCode.INX"

指定要应用到活动表的索引。

SET LEARN <TO> 脚本

SET LEARN TO InventoryRec

指定脚本记录器用来记录命令的脚本文件的名称。

SET LOCKAUTOSAVEFILE {ON | OFF}

SET LOCKAUTOSAVEFILE ON

默认设置:OFF

指定将数据保存到 Analytics 日志文件 (*.LOG) 的机制。

  • ON 将日志数据直接保存到磁盘,而不使用写缓冲区。

    将日志数据直接保存到磁盘而不使用写缓冲区,可在复杂脚本运行并可能与您的计算机上的其他流程(如反病毒监控或者自动化备份)冲突时,帮助阻止日志文件损坏。

    说明

    指定 ON 可能导致 Analytics 降低运行速度。仅当您遇到日志文件损坏问题时,才应使用此选项。

  • OFF 将日志数据先保存到写缓冲区,然后再保存到磁盘。

    写缓冲区是一个临时数据存储位置,可以提供比硬盘驱动器更快的访问,从而从总体上更快地执行 Analytics 脚本。

SET LOG <TO> {文件 | OFF}

SET LOG TO "analysis.log"
SET LOG OFF

第一个命令将日志记录切换到指定的日志。如果指定的日志不存在,则创建它。

第二个命令将日志记录恢复到原始 Analytics 命令日志。

说明

Analytics 项目路径和日志名称的最大长度是 259 个字符,其中包括文件路径、日志名称和文件扩展名 (.log)。

SET LOOP <TO> 数值

SET LOOP TO 100

对于 LOOP 命令处理的记录,请指定可以对任何单个记录执行的最大命令数。

数值范围介于 0 至 32767 之间。若将数值指定为 0,会关闭每条记录的命令执行限制。

注意

若将数值指定为 0,则可能面临脚本进入无限循环的风险。最佳做法是始终指定一个 SET LOOP 限制。

如何计算每条记录的命令执行次数

对于特定记录,用于对照 SET LOOP 最大值进行比较的数字是 GROUP-LOOP 块中处理该记录的所有命令的总和。命令分解如下所示。

提示

要理解如何计算一条记录的命令执行总数,您可以在 GROUP-LOOP 块中逐行手动计算命令。从 GROUP 命令开始到 END 命令为止,后者会终止 GROUP 命令。

如果使用 LOOP 命令,则需考虑特定记录的循环迭代次数。有关详细信息,请参阅下述命令分解。

请记住,变量赋值是命令。通常会忽略可选的 ASSIGN 命令关键字。

注释也是命令 (COMMENT)。

GROUP-LOOP 块中的命令 计数
GROUP 命令,以 END 命令终止 2
ELSE IF 与 ELSE 语句

1 用于处理记录的 ELSE IF 或 ELSE 块之前的每个事件

1 用于处理记录的 ELSE IF 或 ELSE 块

GROUP . . . END 范围内的每个命令,或处理记录的 ELSE IF 或 ELSE 块内的每个命令

不包括 LOOP . . . END 范围内的每个命令,或循环中所含的任何命令。

等于组中的命令数,或 ELSE IF 或 ELSE 块中的命令数(不包括循环)

(LOOP 命令 + LOOP . . . END 范围内的命令数) x (记录的循环迭代次数)

不包括终止 LOOP 命令的 END 命令。

等于循环命令乘以记录的循环迭代次数所得结果
评估为 False 的 LOOP 命令最终执行 1
终止 LOOP 命令的 END 命令 1

SET MARGIN 边缘 <TO>

SET MARGIN TOP TO 100

默认设置:51(51/100 英寸)

边缘参数指定左、右、上或下。如果要更改所有边缘的边距,则需使用独立的 SET MARGIN 命令指定每个边距。指定 100 会创建 1 英寸的边距。

选项对话框:打印选项

SET MATH <TO> {FIRST | LAST | MIN | MAX}

SET MATH TO MIN

默认设置:MAX

指定在数值表达式中评估两个运算数时,小数精度如何工作。

  • FIRST 使用运算数对中的第一个运算数的小数位数
  • LAST 使用运算数对中的最后一个运算数的小数位数
  • MIN 使用运算数对中的最小小数位数
  • MAX 使用运算数对中的最大小数位数

在多运算数表达式中,SET MATH 设置在成对基础上工作,将指定的设置应用于每个运算数对,并且在按照标准数学顺序 (BOMDAS) 评估它们的过程中根据需要取整。

如果 SET MATH 设置减少结果中的小数位数,则结果被取整,而不是被截断。

有关详细信息,请参见控制数值表达式中的取整和小数精度

说明

当有 Analytics 表打开时,您不能使用 SET MATH。

SET MONTHS <TO> 字符串

SET MONTHS "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"

指定月份名称的默认 3 字符缩写。字符串参数是以逗号分隔的月份缩写列表。

选项对话框:日期和时间选项

SET NOTIFYFAILSTOP {ON | OFF}

SET NOTIFYFAILSTOP ON

默认设置:OFF

如果 NOTIFY 命令失败,则会控制脚本行为。

  • ON 如果脚本中的 NOTIFY 命令失败,则会停止处理该脚本,并且向日志发送一条消息。脚本在初始失败之后停止,或者如果尝试皆未成功,则在指定数量的 NOTIFYRETRYATTEMPTS 之后停止。
  • OFF 即使脚本中的 NOTIFY 命令失败,仍会继续处理该脚本。

选项对话框:命令选项

SET NOTIFYRETRYATTEMPTS <TO> 数量

SET NOTIFYRETRYATTEMPTS TO 10

默认设置:5 次尝试

指定 NOTIFY 命令在初始尝试不成功之后尝试发送电子邮件的次数。输入一个从 0 到 255 的数字。如果您输入 0,则在初始失败之后不再进行附加尝试。

NOTIFY 命令未能发送电子邮件的一个可能的原因是电子邮件服务器不可用。

选项对话框:命令选项

SET NOTIFYRETRYINTERVAL <TO> 秒数

SET NOTIFYRETRYINTERVAL TO 30

默认设置:10 秒

指定各个 NOTIFYRETRYATTEMPTS 之间的间隔时间(秒)。请输入一个从 1 到 255 的数字。

选项对话框:命令选项

SET ORDER <TO> 数值

SET ORDER TO aAbBcC...
SET ORDER

默认设置:系统默认值

指定字符域的排序顺序。参数列出指定排序顺序的所有字符。

第二个命令将排序序列恢复为其系统默认设置。

要了解更多信息,请参考“排序顺序”选项和排序顺序

SET OVERFLOW {ON | OFF}

SET OVERFLOW OFF

默认设置:ON

如果出现数字溢出,则会控制脚本行为。

  • ON 如果出现数字溢出,则会停止处理脚本,并向日志发送一条消息。

  • OFF 即使出现数字溢出,仍会继续处理脚本。

选项对话框:数值选项

SET PASSWORD 数字 <TO> 字符串

SET PASSWORD 1 TO "password123"

创建密码定义并指定密码值,用于以无人看管的方式执行脚本。

数值参数唯一标识密码定义,并且必须是从 1 到 10 的值。请将密码值指定为带引号的字符串。

注意

SET PASSWORD 命令在脚本中以明文形式显示实际密码,这可能不适合您的情况。一种更加安全的替代方法是,在开始执行脚本时使用PASSWORD 命令提示输入密码,并将密码值临时安全地存储在内存中。

SET PERIODS <TO> <,...n>

SET PERIODS TO "0,30,90,180,10000"

默认设置:0,30,60,90,120,10000

指定 AGE 命令所用的默认帐龄分析周期。

选项对话框:日期和时间选项

SET PICTURE 格式

SET PICTURE "(9,999,999.99)"

默认设置:-999999.99

指定数值类型值的默认格式。

选项对话框:数值选项

SET READAHEAD <TO> 缓冲区大小

SET READAHEAD TO 100

默认设置:33 KB

指定读取数据块(数据缓冲区)的大小(单位为 KB)。输入一个从 5 到 255 的数字。只有当“支持”建议您更改此设置时,方可这样做。

选项对话框:表选项

SET RETRY <TO> 数字

SET RETRYIMPORT <TO> 数字

SET RETRY TO 20

默认设置:0 次尝试

指定 Analytics 在初始尝试不成功的情况下,尝试执行导入命令的次数。输入一个从 0 到 255 的数字。如果您输入 0,则在初始失败之后不再进行附加尝试。

在重试尝试之间有 1 秒的等待期。

当连接到可能暂时不可用的数据库或云数据服务时,指定重试尝试次数的能力是有用的。如果您在将数据写入磁盘或从磁盘读取数据时遇到问题,重试命令也会有所帮助。

SET RETRY 适用于以下命令:

ACCESSDATA DIRECTORY INDEX SAMPLE
AGE DUPLICATES JOIN SAVE
APPEND EVALUATE LIST SEQUENCE
BENFORD EXPORT MERGE SIZE
CLASSIFY EXTRACT OUTLIER SORT
CLUSTER FUZZYDUP PREDICT STATISTICS
CROSSTAB FUZZYJOIN RANDOM STRATIFY
CVSPREPARE HISTOGRAM RCOMMAND SUMMARIZE
CVSSAMPLE GAPS REFRESH TRAIN
CVSEVALUATE IMPORT REPORT VERIFY

说明

SET RETRYIMPORT 被保留以保持向后兼容性。SET RETRYIMPORT 和 SET RETRY 执行相同的操作。

选项对话框:命令选项

SET SAFETY {ON | OFF}

SET SAFETY OFF

默认设置:ON

控制是否先显示确认对话框,再覆盖以下任何项目:

  • 表布局中的域

  • Analytics 表

  • 文件,包括 Analytics 数据文件 (*.fil)

  • ON 显示确认对话框,您必须明确确认覆盖。

  • OFF 不显示确认对话框,并将自动执行覆盖。

在命令行指定不带任何参数的 SET SAFETY 时,将显示 SAFETY 当前是打开还是关闭。

选项对话框:界面选项

SET SEPARATORS <TO>

SET SEPARATORS TO ".,,"

指定 Analytics 使用的默认小数位、千位和列表分隔符。SET SEPARATORS 值必须为采用如下次序的三个有效分隔符字符:

  • 小数位(句号、逗号或空格)

  • 千位(句号、逗号或空格)

  • 列表(分号、逗号或空格)

在这三个分隔符中,小数位分隔符必须唯一。在使用命令时,您必须指定全部三个分隔符。列表分隔符主要用于分隔函数参数。

选项对话框:数值选项

SET SESSION <会话名称>

SET SESSION
SET SESSION "分析"

在 Analytics 命令日志中创建一个新会话。该会话由当前时间戳标识。

可选的会话名称使您可以添加多达 30 个字符的附加标识信息。允许但不需要引号。

SET SORTMEMORY 数值

SET SORTMEMORY 800

默认设置:0

指定为排序和建立索引过程所分配的最大内存值。数值必须是 0 到 2000 兆字节 (MB) 之间的数值,输入的增量为 20MB。如果排序内存设置为 0,Analytics 会使用当前可用内存。

选项对话框:表选项

SET SUPPRESSTIME {ON | OFF}

SET SUPPRESSTIME ON

默认设置:OFF

控制 Analytics 是否隐藏日期时间源数据的时间部分。

说明

仅在定义使用 ODBC 数据源(IMPORT ODBC 命令)或直接数据库访问(DEFINE TABLE DB 命令)的 Analytics 表时,才会使用这个设置。

  • ON 在定义表时,Analytics 会隐藏日期时间值的时间部分。例如,20141231 235959 被读取和显示在视图中,并且随后被处理为 20141231。

    如果在假定日期时间数据的时间部分将被截断的尚未采用日期时间的 Analytics 脚本(低于 v.10.0)中包括此命令,将使该脚本可在支持日期时间的 Analytics 版本中运行。

    Analytics 通过只使用日期时间格式的日期部分来隐藏时间部分。时间数据仍然出现在 *.fil 文件或数据库表中。如果需要,您可以重新定义域或定义新的域以包括该数据的时间部分。

  • OFF 使用 ODBC 或直接数据库访问定义的 Analytics 表,包括完整的日期时间值。

您可以在脚本中或从命令行发出 SET SUPPRESSTIME ON/OFF 命令。

在命令行指定不带任何参数的 SET SUPPRESSTIME 时,将显示隐藏日期时间数据的时间部分的功能当前是打开还是关闭。

SET SUPPRESSXML {ON | OFF}

SET SUPPRESSXML ON

默认设置:OFF

控制命令输出到屏幕时显示为纯文本还是格式化文本。

  • ON 命令输出到屏幕时显示为纯文本。

  • OFF 命令输出到屏幕时显示为格式化文本。

在命令行指定不带任何参数的 SET SUPPRESSXML 时,会显示设置当前是打开还是关闭。

选项对话框:命令选项

SET TEST {ON | OFF}

SET TEST ON

默认设置:ON

控制与 GROUP 命令关联的 IF、WHILE、FOR 和 NEXT 测试的结果是否记录在日志中。

  • ON 结果记录在日志中。

  • OFF 结果不记录在日志中。

选项对话框:命令选项

SET TIME <TO> 字符串

SET TIME "hh:mm:ss PM"

默认设置:hh:mm:ss PM

指定视图、报告和导出文件中日期时间的时间部分和独立时间值的显示格式。

在使用 SET TIME 命令指定时间格式时,您必须使用“h”代表小时,使用“m”代表分钟,使用“s”代表秒钟,即使您已经在选项对话框中指定不同的日期格式字符,也是如此。例如:

SET TIME TO "hh:mm"

选项对话框:日期和时间选项

SET UTCZONE {ON | OFF}

SET UTCZONE OFF

默认设置:ON

控制包含 UTC 偏移量的时间数据显示格式。UTC 是指协调世界时,即零度经线的时间。

  • ON 包含 UTC 偏移量的时间数据显示为转换成 UTC 的等效时间。
  • OFF 包含 UTC 偏移量的时间数据显示为未转换成 UTC 的时间。

例如:

  • 2015 年 1 月 1 日 04:59:59 (SET UTCZONE ON)
  • 2014 年 12 月 31 日 23:59:59-05:00 (SET UTCZONE OFF)

说明

将时间转换为 UTC 只是为了便于显示,不会影响源数据。您可以在两个不同的显示模式之间任意切换。

选项对话框:日期和时间选项

SET VERIFY {ON | OFF | BLANK}

SET VERIFY BLANK

默认设置:OFF

每当打开表或表中的字段由命令处理时,控制数据的自动验证。

  • ON Analytics 会自动验证数据字段的内容是否与表布局中的字段数据类型一致。在表视图中,受影响的字段会显示 ### ERR ###。如果遇到错误,则会停止数据处理。

  • OFF 不会自动验证数据。

  • BLANK 除了所述的与 ON 参数有关的验证以外,Analytics 还会用空白替换无效字符数据,用零值替换无效数字数据。如果遇到错误并在 Analytics 项目文件夹的 ERROR.LOG 中捕获错误,则会继续进行数据处理。

选项对话框:数值选项

SET WIDTH <TO> 字符数

SET WIDTH TO 20

默认设置:12

指定当 Analytics 无法确定最大宽度时数值计算域或临时数值表达式的默认显示宽度(单位为字符)。

选项对话框:数值选项