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

要将命令结果发送到的位置:

  • 屏幕 – 在 Analytics 显示区域中显示结果

    提示

    您可以单击显示区域中的任何链接结果值以向下追溯到源表中的关联记录。

  • 表名将结果保存到一个 Analytics 表

    请将表名指定为具有 .FIL 文件扩展名的带引号的字符串。例如:TO "Output.FIL"

    默认情况下,表数据文件 (.FIL) 被保存到包含 Analytics 项目的文件夹。

    请使用绝对或相对文件路径将该数据文件保存到另外的现有文件夹:

    • TO "C:\Output.FIL"
    • TO "Results\Output.FIL"

    说明

    表名称被限制为不超过 64 个字母数字字符(不包括 .FIL 扩展名)。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。

  • 文件名将结果保存至文件

    请将文件名指定为具有适当文件扩展名的带引号的字符串。例如:TO "Output.TXT"

    默认情况下,该文件被保存到包含 Analytics 项目的文件夹。

    请使用绝对或相对文件路径将该文件保存到另外的现有文件夹:

    • TO "C:\Output.TXT"
    • TO "Results\Output.TXT"
  • GRAPH 在 Analytics 显示区域中的图表中显示结果
  • PRINT 将结果发送到默认打印机
LOCAL

可选

请将输出文件保存在与 Analytics 项目相同的位置。

说明

仅当针对服务器表运行该命令并且输出文件为 Analytics 表时适用。

LOCAL 参数必须紧跟在 TO 参数后面。

IF 测试

可选

一个条件表达式,它必须为真以便处理每个记录。仅对满足条件的那些记录执行该命令。

说明

在应用任何范围参数(WHILE、FIRST、NEXT)之后,仅针对表中的剩余记录评估 IF 条件。

FIRST 范围 | NEXT 范围

可选

要处理的记录数:

  • 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_源表中的小计域名

最大值 + 源表中的小计备用列标题