IDAX.RANDOM_SAMPLE - 随机采样

使用此存储过程可创建大小固定或概率固定的表随机样本。另外,还支持分层采样。

权限

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

语法

IDAX.RANDOM_SAMPLE(in parameter_string varchar(32672))

参数描述

parameter_string
必需的单字符串参数,其中包含以逗号分隔的 <parameter>=<value> 条目对。
数据类型:VARCHAR(32672)
以下列表显示参数值:
intable
必需。
输入表的名称。
数据类型:VARCHAR(256)
outtable
必需。
样本所要写入的输出表。
数据类型:VARCHAR(256)
num
可选。
样本中的行数。
size 参数的别名。
如果指定此参数,那么不得指定 size 参数。
如果指定此参数,那么不得指定 fraction 参数。
最小值:0
最大值:输入表的行数(如果 replace 参数指定为 false)。
数据类型:BIGINT
size
可选。
样本中的行数。
num 参数的别名。
如果指定此参数,那么不得指定 num 参数。
如果指定此参数,那么不得指定 fraction 参数。
最小值:0
最大值:输入表的行数(如果 replace 参数指定为 false)。
数据类型:BIGINT
fraction
可选。
每一行是否包含在样本中的概率。
如果指定此参数,那么不得指定 num 参数和 size 参数。
如果未指定此参数,那么必须指定 num 参数或 size 参数。
最小值:0.0
最大值:1.0(如果 replace 参数指定为 false)。
缺省值:无
数据类型:DOUBLE
by
可选。
用于将输入表分层的列。
如果指定了此参数,那么将进行分层采样。
分层采样确保以大约与原始输入表相同的百分比,在样本中表示该列的每个值。
缺省值:无
数据类型:VARCHAR(ANY)
outsignature
可选。
要保留在样本中的输入表列。各个列之间以分号 (;) 分隔。
如果未指定此参数,那么所有列都将保留在输出表中。
缺省值:无
数据类型:VARCHAR(ANY)
outclear
可选。
一个标志,指示是否要覆盖输出表。
缺省值:false
数据类型:BOOLEAN
replace
可选。
一个标志,指示是否要以替换方式进行采样。
缺省值:false
数据类型:BOOLEAN
randseed
可选。
随机函数的种子值。
缺省值:random()*1000000.0
数据类型:INT4

返回的信息

BIGINT:样本输出表中的记录数。

示例

call IDAX.RANDOM_SAMPLE('intable=SAMPLES.CUSTOMER_CHURN, num=250, outtable=CC_SAMPLE1');
call IDAX.RANDOM_SAMPLE('intable=SAMPLES.CUSTOMER_CHURN, size=300, outtable=CC_SAMPLE2, replace=T');
call IDAX.RANDOM_SAMPLE('intable=SAMPLES.CUSTOMER_CHURN, fraction=0.4, outtable=CC_SAMPLE3, by=CENSOR');