使用此存储过程可创建大小固定或概率固定的表随机样本。另外,还支持分层采样。
权限
此语句的授权标识所拥有的特权必须包括 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
示例
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');