全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2012-11-26 22:59:20
ziyenano 发表于 2012-11-26 17:39
PROC SQL;
CREATE TABLE TEMP34 AS /* TEMP34为剪除部分四项规则后的规则集*/
SELECT  distinct  b.*
我的数据也是在做关联分析,数据类型都是类似的。目前想用来筛选规则。rule_3是项集为3筛选出的数据集,rule_4是项集为4筛选出的数据集,想做rule_4的规则前件包含rule_3的数据前件的,同时,rule_4的置信度大于rule_3的1.05倍的。结果,用了大神的程序,还是没有结果呢,并且显示的也和以前一样“NOTE: 执行该查询涉及到执行无法优化的一个或多个 Cartesian 产品连接”。不知道是为什么呢。坐等大神回复,万望给力啊~~小女子在此谢过。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-27 09:38:30
颜非如玉 发表于 2012-11-26 22:59
我的数据也是在做关联分析,数据类型都是类似的。目前想用来筛选规则。rule_3是项集为3筛选出的数据集,r ...
PROC SQL;
CREATE TABLE TEMP34 AS
SELECT  distinct  b.*
FROM RULE_3 a,RULE_4 b
WHERE  b._LHAND ? trim(a.LH) AND b.CONF>a.CONF*(0.05+1);
quit;
用trim函数将结尾的空格去掉就好了,compress会将所有空格去掉,包括字段中的空格,
由于楼主的rule_3表中的LH字段中间没有空格,compress和trim算是等价;
或者将连接条件写成 compress(b._LHAND) ? compress(a.LH),前后同时去掉所有空格也可以。
连接通过包含关系连接,只能通过笛卡尔连接,无法优化
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-27 13:16:11
ziyenano 发表于 2012-11-27 09:38
PROC SQL;
CREATE TABLE TEMP34 AS
SELECT  distinct  b.*
哈哈,多谢大神~~果然给力~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群