使用“聚集”选项卡可以指定控制立方的聚集数据的生成和存储的各个参数。有两个子选项卡:
“规则”子选项卡可以标识立方的各个维的聚集运算符。
聚集的次序和方法
该表列出了立方的维。选择各个维的运算符。
次序:维的聚集顺序。当所有维的聚集运算符相同时,顺序并不重要。但是,一些运算组合根据其计算顺序不同会生成不同的结果。要更改顺序,请选择维并使用箭头键将其在列表中上下移动。
维:立方中将要聚集的维。
运算符:选择要在各个维间执行的计算类型。下面一些运算符不可压缩,因为其值可针对各个级别进行更改:所有加权运算符、所有阶运算符和层次的加权平均值运算符。在将这些运算符用于立方中时,聚集引擎会压缩所能压缩的维,但无法压缩整个立方。有关运算符的说明,请参阅下表。
基于:使用加权运算符或阶运算符时,选择包含权重因子的度量。度量必须按要聚集的维划分,并可以选择按立方中的其他维划分。
| 运算符 | 说明 |
|---|---|
| 平均值 | 将数据值相加,然后将总和除以加在一起的数据值的数目。 |
| 第一个非 NA 数据值 | 第一个实际数据值。 |
| 层次的平均值 | 将数据值相加,然后将总和除以维层次中子级的数量。与 AVERAGE 运算符只计算非 NA 子级不同,HAVERAGE 计算父级的所有逻辑子级,不论每个子级是否有值。 |
| 层次的第一个成员 | 层次中的第一个数据值,即使该值为 NA。 |
| 层次的最后一个成员 | 层次中的最后一个数据值,即使该值为 NA。 |
| 层次的加权平均值 | 将非 NA 子级数据值乘以其相应的权重值,然后将结果除以权重值的总和。与 WAVERAGE 不同的是,HWAVERAGE 在分母总和中包括了权重值,即使相应的子级值为 NA。在基于字段中标识权重对象。 |
| 层次的加权第一个 | 层次中第一个数据值乘以其对应的权重值,即使该值为 NA。在基于字段中标识权重对象。 |
| 层次的加权最后一个 | 层次中最后一个数据值乘以其对应的权重值,即使该值为 NA。在基于字段中标识权重对象。 |
| 最后一个非 NA 数据值 | 最后一个实际数据值。 |
| 最大值 | 每个父级的子级中最大的数据值。 |
| 最小值 | 每个父级的子级中最小的数据值。 |
| 不相加 | 不聚集此维的任何数据。请只在运算符变量中使用此关键字,否则没有任何效果。 |
| 阶求和 | 将权重对象的值与每个数据值相加,然后将数据值相加。在基于字段中标识权重对象。 |
| 总和 | 将数据值相加。(默认值) |
| 加权平均值 | () 将每个数据值乘以权重因子,将数据值相加,然后将该结果除以权重因子的总和。在基于字段中标识权重对象。 |
| 加权第一个 | 第一个非 NA 数据值乘以其对应的权重值。在基于字段中标识权重对象。 |
| 加权最后一个 | 最后一个非 NA 数据值乘以其对应的权重值。在基于字段中标识权重对象。 |
| 加权求和 | 将每个数据值乘以权重因子,然后将数据值相加。在基于字段中标识权重对象。 |
聚集层次
为每个要聚集的维选择一个或多个层次。如果忽略层次,则不为其存储聚集值;聚集值始终根据查询进行计算。由于这将降低运行时性能,只应忽略极少使用的层次。
“预先计算”子选项卡可标识用来确定以下事项的方法:数据维护期间哪些值预先计算并存储在立方中以及哪些值根据查询需要进行计算。
基于成本的聚集
使用该方法可以让 OLAP 引擎确定最成本高效的预先计算数据范围。
分区 或 底层分区百分比
在文本框中为立方或更低分区 (即级别与所选分区级别相同或位于其下)键入百分比 (0 到 100)。您可能需要随时间调整百分比,以平衡运行时性能与时间及磁盘空间上的维护限制。要优化数据库,应针对各个预先计算的百分比跟踪运行时性能和维护统计信息。
值为 0 时不会创建任何聚集值;在运行时进行计算以提供查询的答案集。0% 的预先聚集结果表示最快的维护、最低的存储空间、最长的查询相应时间。值为 100 时创建所有聚集值,只进行提取以响应查询。100% 的预先聚集结果表示时间最长的维护、最高的存储空间、最短的查询响应时间。大多数 DBA 选择这两个极端值之间的值,以平衡对查询的性能要求和数据维护窗口的限制。
值为 1 仅创建 1% 聚集值,但也会创建存储和跟踪聚集的数据结构。因此,计算这一小百分比的时间相对会长一些。
顶层分区百分比
在对立方进行分区时,可以将顶层分区设为与立方其余部分不同的百分比。顶层分区通常是最大的分区,且是大多数应用程序最初访问的分区。它包含的级别高于分区级别。
基于级别的聚集
对于每个维,请选择要预先计算的级别。应始终选择基本级别。
维
选择各个维以显示其级别。
级别
选择要计算的级别,并在构建过程中进行存储。
用于标识存储数据级别的最好方法是确定每个级别上维成员的比率,并使在运行时计算的成员比率保持小于 10:1。此方法可确保能够快速返回所有答案集。数据可以存储在立方中,或者可以通过将 10 个或更少的值累计为一个数字来进行计算。累计 10 个值所需的时间是微不足道的,并且设计良好的应用程序可以将返回集限制为分析员可以轻松地审查的数据量。您可以通过判断访问某个级别的频率来修改该比率。
变化较慢的维在聚集时所花的时间较长,因为数据在它的整个存储空间中是分散的。如果要针对数据维护进行优化,则应完全聚集变化较快的维,并对变化较慢的维使用跳转级别的聚集。
版权所有 © 2003,2007,Oracle。保留所有权利。