IDAX.AGGDISC - 将数据聚集在离群值和分级中

使用此存储过程可将输入数据聚集在离群值和分级中,并在一次数据遍历期间计算每个分级中的记录数。对于每个分级,将会收集并返回最小值、最大值、平均值和值计数。

权限

此语句的授权标识所拥有的特权必须包括 IDAX_USER 角色。

语法

IDAX.AGGDISC (in intable VARCHAR(256), in incolumn VARCHAR(32000), in validitypredicates VARCHAR(32000), in N INTEGER, in S INTEGER, in quantiles VARCHAR(32000))

参数描述

intable
必需。
输入表的名称。
数据类型:VARCHAR(256)
incolumn
必需。
要进行离散化的输入表列。各个列之间以分号 (;) 分隔。
数据类型:VARCHAR(A)
validitypredicates
可选。
要对每一行应用的谓词列表,用于确定相应列值的有效性。各个谓词之间以分号 (;) 分隔。
谓词和列名按相同的顺序列出。
如果谓词为空,那么相应列的所有非 null 值都有效。
如果 validitypredicates 参数设置为 NULL,那么所有列的所有非 null 值都有效。
缺省值:NULL
数据类型:VARCHAR(3200)
N
必需。
分级(包括离群值)的数目。
最小值:1
最大值:1000
数据类型:INTEGER
S
可选。
在聚集分级的左侧和右侧要保留的离群值(单个值)数目。
N 参数必须大于 S 参数值的两倍。
最小值:0
最大值:(N-1)/2
缺省值:NULL
数据类型:INTEGER
quantiles
要针对每个列计算的分位数百分比的列表。各个分位数之间以分号 (;) 分隔。
每个百分比都是 0 - 100 范围内的整数值,例如,四分位值是使用字符串“25;50;75”计算而得。
如果 quantiles 参数设置为 NULL,那么不会计算和返回分位数。
缺省值:NULL
数据类型:VARCHAR(3200)

返回的信息

以结果集形式返回包含离群值和聚集分级的 TABLE(COLUMNNAME varchar(128), MINIMUM double, MAXIMUM double, MEAN double, COUNT bigint)。

如果设置了 quantiles 参数,那么将会返回第二个结果集。它以 TABLE(COLUMNNAME varchar(128), QUANTILE integer, VALUE double) 形式包含分位数。

示例

CALL IDAX.AGGDISC ('SAMPLES.CUSTOMER_CHURN', 'AVG_SPENT_RETAIN_PM;ANNUAL_REVENUE_MIL', null, 10, 2, '25;50;75')