排序记录

您可以按升序或降序序列顺序对记录排序,并将结果输出到完全重新排序新 Analytics 表中。输出到 Analytics 表是唯一的输出选项。

对记录进行排序是多个 Analytics 操作的先决条件。要了解更多信息,请参考 我应该执行显式排序还是使用预排序?

排序本身也可以是有用的解析操作,可让您发现模式和异常。

说明

制作记录索引是对它们排序的另一种方法,在某些情况下可能是更好的选择。要了解更多信息,请参考 我应该进行排序还是索引?

我应该输出整个记录还是只输出指定的域?

排序时,您可以选择在排序的输出表中包括整个记录或者只包括指定的域。每个选项都有相关的含义,如下所述。

您选择的选项还可能影响排序速度。要了解更多信息,请参考如何提高排序速度

提示

如果您需要按域输出的某些特点,但是您需要整个记录,请按域输出并选择所有域。

输出类型 含义
记录
  • 整个记录被包括在排序的输出表中。
  • 计算域被保存为计算表达式。
  • 相关域不能被包括。但是,新的输出表被自动关联到原始子表,并且您可以将子表中的域添加到输出表视图。
  • 只有指定的域被包括在排序的输出表中。键域被自动包括在内,不需要指定。
  • 计算域被转换为物理域并且被用实际计算值填充。
  • 相关域可以被包括。它们成为输出表中的永久物理域。新的输出表不再与原始子表关联。

 

按多个键域排序

通过按多个键域(主键域、辅助键域等)排序,您可以使用一个键域对记录进行排序,或者创建嵌套排序方案。嵌套排序支持跨键域混用数据类型以及混用升序和降序。

示例

您想要按日期键域的升序对交易表进行排序,而在每个日期内按金额键域的降序进行排序。

下面的结果阐述了混用数据类型(日期时间和数值)以及升序和降序的嵌套排序。

 

日期域

(升序)

金额域

(降序、嵌套)

15 一月 2011

$2300.00

15 一月 2011

$1200.00

15 一月 2011

$600.00

16 一月 2011

$900.00

16 一月 2011

$100.00

17 一月 2011

$4700.00

17 一月 2011

$900.00

17 一月 2011

$500.00

如何提高排序速度

对包含数百万个记录的超大型表进行排序可能很费时间。排序需要占用大量系统资源,如果您同时在执行其他任务,则可能会减缓速度。

提高排序速度

两个选项可以提高排序速度:

  • 输出域子集如果您只需要某个记录中包含的一部分数据,请不要将整个记录包括在排序的输出表中。请仅选择您需要的域,这在大多数情况下都会提高排序速度。

    域子集在域总数中所占的百分比越小,性能的改善就越大。

  • 增加可用于排序的内存您可以为排序操作分配特定数量的内存(最多可达到 2000 MB)。转到工具 > 选项 > 表 > 排序内存,或者使用 SET SORTMEMORY 命令

其他建议

如果对大型表进行排序所需的时间对您而言仍然是一个问题,请考虑:

  • 升级您的计算机硬件
  • 创建一个脚本以便按计划在晚上对数据进行排序

我应该执行显式排序还是使用预排序?

在下列任一操作之前对记录进行排序是先决条件或建议的操作:

  • 联接表
  • 合并表
  • 汇总(如果您希望将键域中的每个相同值集放在单个组中)
  • 测试重复
  • 测试间隔

所有上述操作都包括预排序选项,使您可以在执行操作的过程中包括对记录进行初始排序的操作。

如果您要对同一个表执行上述两个或更多个操作,则首先明确对该表进行排序而非反复使用预排序可能效率更高,当表包含大量记录时尤其如此。

验证所有源记录都在输出表中

如果在表中排序和输出所有记录,您可以为数值域设置控制总计,以验证所有记录实际上都已输出到新表中。

表布局对话框中为域设置控制总计。在进行排序并输出记录后,在新表中选择工具 > 表历史记录来比较输入和输出控制总计。要了解更多信息,请参考定义一个物理域

步骤

您可根据活动表中的一或多个关键字域对记录排序,并将结果输出到新的 Analytics 表中。您可以在排序的输出表中包括整个记录或者只包括指定的域。

Analytics 14.1 帮助