在列属性表中定义的列属性

您可以创建与指定输入表关联的列属性表,代替在参数中定义列属性。

以这种方式,您可指定在算法中频繁使用的输入表的列属性。这种方法可确保每个算法调用处理数据的方式一致。

注: 在参数中指定的列属性将会覆盖在列属性表中指定的列属性。

要创建和管理列属性表,您可使用以下过程:

  • COLUMN_PROPERTIES
  • SET_COLUMN_PROPERTIES
  • GET_COLUMN_LIST

列属性表中的列如下所示:

表 1. 列属性表的列
列名 列类型 描述
COLNO INTEGER 输入表中列的索引
NAME VARCHAR(128) 列的名称
SQLTYPE VARCHAR(128) 列的 SQL 类型

派生自系统目录

LENGTH INTEGER 列的长度

派生自系统目录

SCALE SMALLINT 列的标度

派生自系统目录

TYPE VARCHAR(64) 挖掘类型,即,nom 表示名义,cont 表示连续
ROLE VARCHAR(64) 列的特定角色,例如,targetid
WEIGHT FLOAT 列的权重
CARDINALITY BIGINT 列统计

可以为 NULL

MINIMUM DOUBLE 列统计

可以为 NULL

MAXIMUM DOUBLE 列统计

可以为 NULL

MEAN DOUBLE 列统计

可以为 NULL

VARIANCE DOUBLE 列统计

可以为 NULL

NUMVALID BIGINT 列统计

可以为 NULL

NUMINVALID BIGINT 列统计

可以为 NULL

NUMMISSING BIGINT 列统计

可以为 NULL

指定列属性表供算法使用

以下示例显示如何通过提供指定的列属性表来调用算法。

CALL IDAX.COLUMN_PROPERTIES('intable=SAMPLES.CUSTOMER_CHURN, outtable=CUSTOMER_CHURN_COLPROPTABLE');
CALL IDAX.KMEANS('intable=SAMPLES.CUSTOMER_CHURN, colPropertiesTable=CUSTOMER_CHURN_COLPROPTABLE, incolumn=AVG_SPENT_RETAIN_PM:ignore; CENSOR:nom, id=cust_id, k=3, model=cc_km3, outtable=cc_km3_out');

colPropertiesTable 表包含输入表列的属性。但是,incolumn 参数的优先级更高,因此会覆盖列属性表中的设置。在示例中,无论列属性表中指定的值为何,都会将 age 视为连续列。