全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
996 4
2017-02-25
悬赏 200 个论坛币 已解决
原数据
name
小明,张三,李四
王五,小红
小红,小明

想生成 ,即表示二者相关联的

nameco
小明张三
小明李四
张三小明
张三李四
李四小明
李四张三
王五小红
小红王五
小红小明
小明小红

谢谢



二维码

扫码加我 拉你入群

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

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

全部回复
2017-2-25 10:17:24
复制代码
二维码

扫码加我 拉你入群

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

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

2017-2-25 11:40:40
提供一个思路吧,首先用COUNT函数和SCAN函数把变量拆分成单个变量,如VAR1-VAR100等,然后调用%DO I=1 %TO COUNT(逗号的数量)
%do j=(i+1) %to (count+1);name=va&i;co=var&j;output;%end;%end;生成数据;最后去重
二维码

扫码加我 拉你入群

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

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

2017-2-28 10:19:44
yongyitian 发表于 2017-2-25 10:17
请把中文有逗号的情况也写一下
二维码

扫码加我 拉你入群

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

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

2017-2-28 10:59:16
加以个 delimator 试一试; 系统不识中文.

data want;
   set have;
   delim = "," ;
   n=countw(name_co, delim);
    do i = 1 to n-1;
      do j = i+1 to n;
      name = scan(name_co, i, delim);
        co = scan(name_co, j, delim);
        output;
      name = scan(name_co, j, delim);
        co = scan(name_co, i, delim);
        output;
      end;
    end;
    keep name co;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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