STRATIFY 命令
概念信息
根据数值域中的值将记录分组到数值间隔中。统计每个间隔中的记录数,并且小计每个间隔的指定数值域。
语法
STRATIFY <ON> 数值域 MINIMUM 值 MAXIMUM 值 {<INTERVALS 数字>|FREE 间隔值 <...n> 上个间隔} <SUPPRESS> <SUBTOTAL 数值域 <...n>|SUBTOTAL ALL <EXCLUDE 数值域 <...n>>> <KEY 拆分域> <TO {SCREEN|表名称|文件名|GRAPH|PRINT}> <LOCAL> <IF 测试> <FIRST 范围|NEXT 范围> <WHILE 测试> <APPEND> <OPEN> <HEADER 页眉文本> <FOOTER 页脚文本> <STATISTICS>
参数
| 名称 | 描述 |
|---|---|
| ON 数值域 |
要分层的数值域或表达式。 |
| MINIMUM 值 |
只适用于数值域。第一个数值间隔的最小值。 如果您使用了 FREE,则 MINIMUM 为可选,否则为必需。 |
| MAXIMUM 值 |
只适用于数值域。最后一个数值间隔的最大值。 如果您使用了 FREE,则 MAXIMUM 为可选,否则为必需。 |
| INTERVALS 数字 可选 |
只适用于数值域。 Analytics 在 MINIMUM 和 MAXIMUM 值所指定的范围内产生的相等大小间隔的数量。如果您不指定间隔数量,则使用默认数量。 默认数量由选项对话框中的命令选项卡上的间隔数字指定。 |
| FREE 间隔值 <...n> 最后一个间隔 可选 |
只适用于数值域。 通过指定每个间隔的开始点和最后一个间隔的结束点来创建自定义大小的间隔。 如果您指定 MINIMUM 和 MAXIMUM 值,则这些值是第一个间隔的起始点和最后一个间隔的结束点,而每个间隔值都会在该范围内创建一个附加间隔。您指定的间隔值必须大于 MINIMUM 值,并且等于或小于 MAXIMUM 值。 间隔值必须保持数值顺序,并且不能包含重复值: FREE -1000, 0, 1000, 2000, 3000 如果您同时指定 FREE 和 INTERVALS,则 INTERVALS 被忽略。 |
| SUPPRESS 可选 |
从命令输出中排除大于 MAXIMUM 值或小于 MINIMUM 值的值。 |
| SUBTOTAL 数值域 <...n> | SUBTOTAL ALL 可选 |
要为每个组小计的一个或多个数值域或表达式。 多个域必需以空格分隔。指定 ALL 对表中的所有数值域进行小计。 如果您不选择小计域,您据以分层的域将被自动小计。 如果您想要随一个或多个其他域一起小计分层域,或者想要包括小计分层域的统计信息,则必须明确指定分层域。 |
| EXCLUDE 数值域 可选 |
仅在使用 SUBTOTAL ALL 时有效。 要从该命令中排除的一个或多个域。EXCLUDE 使您可以通过排除指定的域优化 SUBTOTAL ALL。 EXCLUDE 必须紧跟在 SUBTOTAL ALL 后面。例如: SUBTOTAL ALL EXCLUDE 域 1 域 2 |
| KEY 中断域 可选 |
对小计计算进行分组的域或表达式。每当拆分域的值更改时计算小计。 拆分域必须是字符域或表达式。您只能指定一个域,但您可以使用一个包含多个域的表达式。 |
| TO SCREEN | 表名 | 文件名 | GRAPH | PRINT |
要将命令结果发送到的位置:
|
| LOCAL 可选 |
请将输出文件保存在与 Analytics 项目相同的位置。 说明 仅当针对服务器表运行该命令并且输出文件为 Analytics 表时适用。 LOCAL 参数必须紧跟在 TO 参数后面。 |
| IF 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。仅对满足条件的那些记录执行该命令。 说明 在应用任何范围参数(WHILE、FIRST、NEXT)之后,仅针对表中的剩余记录评估 IF 条件。 |
| FIRST 范围 | NEXT 范围 可选 |
要处理的记录数:
请使用范围指定要处理的记录数。 如果您省略 FIRST 和 NEXT,则会默认处理所有记录。 |
| WHILE 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。该命令被一直执行到条件的计算结果为假或者到达表的末尾为止。 说明 如果您将 WHILE 与 FIRST 或 NEXT 结合使用,请在达到一个限制时立即记下处理步骤。 |
| APPEND 可选 |
将命令输出附加到现有文件的末尾,而不是覆盖现有文件。 说明 您必须确保命令输出的结构和现有文件完全相同:
Analytics 将输出附加到现有文件,而无论其结构如何。如果输出的结构和现有文件不匹配,则可能生成混乱的、不完整的或不准确的数据。 |
| OPEN 可选 |
在命令执行后打开该命令创建的表。仅当该命令创建输出表时有效。 |
| HEADER 头文本 可选 |
要在报告的每个页面的顶部插入的文本。 必须将头文本指定为带引号的字符串。该值将覆盖 Analytics HEADER 系统变量。 |
| FOOTER 页脚文本 可选 |
要在报告的每个页面底部插入的文本。 必须将尾文本指定为带引号的字符串。该值将覆盖 Analytics FOOTER 系统变量。 |
| STATISTICS 可选 |
说明 除非同时指定了 SUBTOTAL,否则不能使用。 为所有 SUBTOTAL 域计算平均值、最小值和最大值。 |
示例
按发票金额进行分层
您需要按 Invoice_Amount 域对应收帐款表进行分层。发票金额还会被自动小计。
输出被分组到 $1000 间隔中:
- 从 $0 到 $999.99
- 从 $1,000 到 $1,999.99
- 等等
对于每个间隔,都包括合计发票金额。
OPEN 应收账款
STRATIFY ON 发票金额 MINIMUM 0 MAXIMUM 10000 INTERVALS 10 TO "分层发票.FIL"
备注
有关此命令工作方式的详细信息,请参见分层数据。
工作原理
STRATIFY 根据数值域中的值将记录分组到相等大小或自定义大小的数值间隔中。
输出为每个间隔包含单个记录,并且包含对源表中属于每个间隔的记录数的统计。
自动填充 MINIMUM 值和 MAXIMUM 值
在运行 STRATIFY 命令以使用分层域中的最小值和最大值自动填充 MINIMUM 和 MAXIMUM 参数值之前,可以对分层域运行 STATISTICS 或 PROFILE 命令。
自动生成的小计域和统计信息域的名称
如果您使用 STATISTICS 对一个或更多个 SUBTOTAL 域执行统计计算,并且将结果输出到一个 Analytics 表,则这些参数自动生成的域具有下列名称:
|
对自动生成的域的描述 |
输出表中的域名 |
输出表中的备用列标题(显示名称) |
|---|---|---|
|
小计域 |
源表中的小计域名 |
合计 + 源表中的小计备用列标题 |
|
平均值域 |
a_源表中的小计域名 |
平均值 + 源表中的小计备用列标题 |
|
最小值域 |
m_源表中的小计域名 |
最小值 + 源表中的小计备用列标题 |
|
最大值域 |
x_源表中的小计域名 |
最大值 + 源表中的小计备用列标题 |