使用计算键域排序或索引
如果物理键域中的数据的格式妨碍对表进行准确的排序或索引,您或许能够通过创建计算键域来获得准确的结果。妨碍排序或索引的数据格式的例子包括不一致地包含非数值前缀或前导空白的数字,以及大写不一致的名称。您可以创建计算键域以使数据一致,然后使用计算键域进行排序或索引。
您还可以使用计算键域进行排序或索引,以便使表按不同于键域值严格序列顺序的方式排列。例如,您可以使用计算键域颠倒表中记录的物理顺序,将偶数美元值进行归类,或者将包含特定字符串的名称归类。
使计算键域值可见
使用计算键域进行索引的最佳做法是将该计算域添加到视图中,以便您可以看到计算值到底是如何被用于建立表索引的。当您使用计算键域进行排序时,该计算域会被自动包括在新的排序表中。
可以将表达式直接结合到排序和索引操作中,并且获得与使用计算键域所获结果相同的结果。但是,不建议使用此方法,因为它隐藏了用来对该表进行排序的计算值。
使用计算键域排序或索引的示例
下面显示了几个使用计算键域排序或索引的示例。为了便于比较,其中还包括了物理键域的非计算顺序次序。
|
描述/计算键域表达式 |
Analytics 函数 |
键域 (物理顺序) |
键域 (顺序次序,非 Unicode 版 Analytics) |
计算键域 (序列顺序) |
键域 (基于计算键域次序的次序) |
|---|---|---|---|---|---|
|
忽略非数值字符和空白,仅对数值字符进行排序/索引 INCLUDE(dept_ID, "1234567890") |
INCLUDE( ) |
92 12 T-38 20 #85 |
20 #85 12 92 T-38 |
12 20 38 85 92 |
12 20 T-38 #85 92 |
|
避免由区分大小写导致的排序/索引差异 UPPER(姓氏) |
UPPER( ) |
Smythe JONES Smith JOHNSON SMYTHE Jones SMITH Johnson |
JOHNSON JONES Johnson Jones SMITH SMYTHE Smith Smythe |
JOHNSON JOHNSON JONES JONES SMITH SMITH SMYTHE SMYTHE |
JOHNSON Johnson JONES Jones Smith SMITH Smythe SMYTHE |
|
颠倒表中记录的物理顺序 说明 要求计算键域按降序排序。即使应用了降序,记录编号也始终按升序显示。 RECNO( ) |
RECNO( ) |
82.12 87.00 62.79 97.47 43.00 |
43.00 62.79 82.12 87.00 97.47 |
1 2 3 4 5 |
43.00 97.47 62.79 87.00 82.12 |
|
将偶数美元金额归类到一个组,并且对该组内的金额进行序列排序 说明 需要在计算键域内按键域进行嵌套排序/索引。 MOD(交易金额, 1.00) |
MOD( ) |
82.12 87.00 62.79 97.47 43.00 |
43.00 62.79 82.12 87.00 97.47 |
0.00 0.00 0.12 0.47 0.79 |
43.00 87.00 82.12 97.47 62.79 |
|
将包含特定字符串的值归类到一个组,并且对该组内的值进行序列排序 说明 要求计算键域按降序排序。需要在计算键域内按键域进行嵌套排序/索引。 FIND("Hardware", 供应商名称) |
FIND( ) |
Lilydale Hardware |
Binford Tools |
T |
Global Trade Hardware |
|
Triathalon Group |
Bolton Distribution |
T |
Lilydale Hardware |
||
|
Wholesome Hardware |
Global Trade Hardware |
T |
Wholesome Hardware |
||
|
Steel Case Manufacturing |
Industrial Equipment Co-Op |
F |
Binford Tools |
||
|
Industrial Equipment Co-Op |
Lilydale Hardware |
F |
Bolton Distribution |
||
|
Global Trade Hardware |
Steel Case Manufacturing |
F |
Industrial Equipment Co-Op |
||
|
Binford Tools |
Triathalon Group |
F |
Steel Case Manufacturing |
||
|
Bolton Distribution |
Wholesome Hardware |
F |
Triathalon Group |
步骤
下面对使用计算键域对表进行排序或索引的步骤进行了一般性介绍。
有关创建计算域以及执行排序或索引的详细信息,请参见本指南的相关章节。
- 使用适当的表达式,基于排序或索引物理键域创建一个计算键域。
- 如果您要执行索引操作,请将该计算键域添加到视图中。
- 使用该计算域作为键域,执行常规的排序或索引过程。
- 如有必要,请为该计算键域指定降序。某些表达式需要采用降序以便将结果放置到表的顶部。
- 如果您想要在由该计算键域表达式创建的分组内按顺序对结果进行排序,请在排序或索引时同时选择计算键域和物理键域。请确保首先选择计算键域,以使其优先于物理键域。