SUMMARIZE 命令
概念信息
根据一个或多个字符、数值或日期时间域中的相同值对记录进行分组。统计每个组中的记录数,并且小计每个组的指定数值域。
语法
SUMMARIZE {ON 键域 <...n>|ON ALL <EXCLUDE 域名称 <...n>>} <SUBTOTAL 数值域<...n>|SUBTOTAL ALL <EXCLUDE 数值域 <...n>>> <OTHER 域 <...n>|OTHER ALL <EXCLUDE 域名称 <...n>>> <TO {SCREEN|表名称|PRINT}> <LOCAL> <IF 测试> <WHILE 测试> <FIRST 范围|NEXT 范围> <PRESORT> <APPEND> <OPEN> <HEADER 页眉文本> <FOOTER 页脚文本> <STATISTICS> <MODMEDQ> <STDEV> <CPERCENT> <ISOLOCALE 区域设置代码>
参数
| 名称 | 描述 |
|---|---|
| ON 键域 <...n> | ON ALL |
要汇总的一个或多个字符、数值或日期时间域。
|
| EXCLUDE 域名称 可选 |
仅在使用 ON ALL 汇总时有效。 要从该命令中排除的一个或多个域。EXCLUDE 使您可以通过排除指定的域优化 ON ALL。 EXCLUDE 必须紧跟在 ON ALL 后面。例如: ON ALL EXCLUDE 域 1 域 2 |
| SUBTOTAL 数值域 <...n> | SUBTOTAL ALL 可选 |
要为每个组小计的一个或多个数值域或表达式。 多个域必需以空格分隔。指定 ALL 对表中的所有数值域进行小计。 |
| EXCLUDE 数值域 可选 |
仅在使用 SUBTOTAL ALL 时有效。 要从该命令中排除的一个或多个域。EXCLUDE 使您可以通过排除指定的域优化 SUBTOTAL ALL。 EXCLUDE 必须紧跟在 SUBTOTAL ALL 后面。例如: SUBTOTAL ALL EXCLUDE 域 1 域 2 |
| OTHER 域 <...n> | OTHER ALL 可选 |
要包括在输出中的一个或多个其他域。
请只对那些为每个汇总组中的所有记录包含相同值的域使用 OTHER 参数。如果指定其包含的值对汇总组而言不同的域,则仅显示该组中的第一个记录的值,而这没有什么意义。 例如:
|
| EXCLUDE 域名称 可选 |
仅在使用 OTHER ALL 时有效。 要从该命令中排除的一个或多个域。EXCLUDE 使您可以通过排除指定的域优化 OTHER ALL。 EXCLUDE 必须紧跟在 OTHER ALL 后面。例如: OTHER ALL EXCLUDE 域 1 域 2 |
| TO SCREEN 表名称 | PRINT |
要将命令结果发送到的位置:
|
| LOCAL 可选 |
请将输出文件保存在与 Analytics 项目相同的位置。 说明 仅当针对服务器表运行该命令并且输出文件为 Analytics 表时适用。 LOCAL 参数必须紧跟在 TO 参数后面。 |
| IF 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。仅对满足条件的那些记录执行该命令。 说明 在应用任何范围参数(WHILE、FIRST、NEXT)之后,仅针对表中的剩余记录评估 IF 条件。 |
| WHILE 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。该命令被一直执行到条件的计算结果为假或者到达表的末尾为止。 说明 如果您将 WHILE 与 FIRST 或 NEXT 结合使用,请在达到一个限制时立即记下处理步骤。 |
| FIRST 范围 | NEXT 范围 可选 |
要处理的记录数:
请使用范围指定要处理的记录数。 如果您省略 FIRST 和 NEXT,则会默认处理所有记录。 |
| PRESORT 可选 |
在执行该命令之前,请按键域对该表进行排序。 说明 在 GROUP 命令内部不可使用 PRESORT。 如果您使用 PRESORT如果您使用 PRESORT,则输出会被排序,并且对于一个或多个键域中的每组相同值或相同值组合,都包含单个唯一组。 提示 如果输入表已经排序,则可以通过不指定 PRESORT 节省处理时间。 如果您不使用 PRESORT如果您不使用 PRESORT,则输出结果使用输入表的排序顺序。 如果键域包含非顺序的相同值,则对于每组相同值或相同值组合,输出结果都包含一个以上的组。 说明 根据具体情况的不同,每组相同值或相同值组合对应于一个以上的组可能导致无法达到汇总目的。 |
| APPEND 可选 |
将命令输出附加到现有文件的末尾,而不是覆盖现有文件。 说明 您必须确保命令输出的结构和现有文件完全相同:
Analytics 将输出附加到现有文件,而无论其结构如何。如果输出的结构和现有文件不匹配,则可能生成混乱的、不完整的或不准确的数据。 |
| OPEN 可选 |
在命令执行后打开该命令创建的表。仅当该命令创建输出表时有效。 |
| HEADER 页眉文本 可选 |
要在报告的每个页面的顶部插入的文本。 必须将头文本指定为带引号的字符串。该值将覆盖 Analytics HEADER 系统变量。 |
| FOOTER 页脚文本 可选 |
要在报告的每个页面底部插入的文本。 必须将尾文本指定为带引号的字符串。该值将覆盖 Analytics FOOTER 系统变量。 |
| STATISTICS 可选 |
说明 除非同时指定了 SUBTOTAL,否则不能使用。 为所有 SUBTOTAL 域计算平均值、最小值和最大值。 |
| MODMEDQ 可选 |
说明 除非同时指定了 SUBTOTAL,否则不能使用。 对于所有 SUBTOTAL 域,计算模式、中值、第一个四分位数值和第三个四分位数值。 |
| STDEV 可选 |
说明 除非同时指定了 SUBTOTAL,否则不能使用。 对于所有 SUBTOTAL 域的合计值,计算标准偏差和百分比。 |
| CPERCENT 可选 |
为每个组计算记录计数百分比。 |
| ISOLOCALE 可选 |
说明 仅在 Unicode 版 Analytics 中可用。 采用语言_国家/地区格式的系统区域设置。例如,要使用加拿大法语,请输入 fr-ca。 使用以下代码:
如果您不使用 ISOLOCALE,则会使用默认系统区域设置。 |
示例
每个客户的交易总金额
您按 Customer_Number 域汇总应收帐款表,并且小计 Trans_Amount 域。输出按客户分组,并且包括每个客户的交易总金额:
OPEN 应收账款
SUMMARIZE ON 客户编号 SUBTOTAL 交易金额 TO "客户合计.FIL" PRESORT
每个客户每个交易日期的交易总金额
您按 Customer_Number 域和 Trans_Date 域汇总应收帐款表。您对 Trans_Amount 域进行小计。
输出按客户分组,在每个客户内又按日期分组,并且包括每个客户在每个交易日期的交易总金额。
OPEN 应收账款
SUMMARIZE ON 客户编号 交易日期 SUBTOTAL 交易金额 TO "客户合计按日期.FIL" PRESORT
每个客户每个交易日期的总计、平均、最小和最大交易金额
您将 STATISTICS 添加到上一个示例中。
除了计算每个客户每个交易日期的交易金额小计以外,还会计算每个客户每个交易日期的平均、最小和最大交易金额:
OPEN 应收账款
SUMMARIZE ON 客户编号 交易日期 SUBTOTAL 交易金额 TO "按日期收集的客户统计信息.FIL" PRESORT STATISTICS
相同交易金额,相同日期
您按 Trans_Date 域和 Trans_Amount 域汇总信用卡交易表。
输出按日期进行分组,而在日期内则按金额分组。您可以使用关联的计数来识别具有相同金额和相同日期的交易:
OPEN CC_Trans
SUMMARIZE ON 交易日期 交易金额 TO "Transactions_by_date_amount.FIL" OPEN PRESORT
SET FILTER TO 计数 > 1
备注
有关此命令工作方式的详细信息,请参见汇总数据。
工作原理
SUMMARIZE 对在一个域中具有相同值或者在多个域中具有相同值组合的记录进行分组。输出结果对每个组包含单个记录,并且包含对源表中属于该组的记录数的统计。
小计和统计:输出结果中的计算和域名称
您可使用一个或多个可选参数对您指定的任何 SUBTOTAL 域执行统计计算。在输出中,统计计算的结果按组进行细分:
| 可选参数 | 输出表中的备用列标题(显示名称) | 输出表中的域名 | 对小计域执行的计算 |
|---|---|---|---|
| SUBTOTAL | Total + 小计备用列标题 | 小计域名 | 每个组的小计值 |
| STATISTICS | Average + 小计备用列标题 |
a_ 小计域名称 |
每个组的平均值 |
|
Minimum + 小计备用列标题 |
m_ 小计域名称 |
每个组的最小值 |
|
|
Maximum + 小计备用列标题 |
x_小计域名称 |
每个组的最大值 |
|
| MODMEDQ |
Median + 小计备用列标题 |
c_ 小计域名称 |
每个组的中值
|
|
Mode + 小计备用列标题 |
o_ 小计域名称 |
每个组中最常出现的值
|
|
|
Q25 + 小计备用列标题 |
q_ 小计域名称 |
每个组的第一个四分位数值(较低的四分位数值)
|
|
|
Q75 + 小计备用列标题 |
p_ 小计域名称 |
每个组的第三个四分位数值(较高的四分位数值)
|
|
| STDEV |
STDDEV + 小计备用列标题 |
d_ 小计域名称 |
每个组的标准偏差 |
|
% Field + 小计备用列标题 |
f_ 小计域名称 |
每个组的小计,表示为域合计的百分比 |
|
| CPERCENT | 计数百分比 | COUNT_PERCENTAGE | 属于每个组的源表记录的百分比 说明 不需要小计域 |