全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5060 5
2012-07-23
悬赏 50 个论坛币 已解决
请问如何合并多列字符变量为一列,相同的就只记录一次,不同的则保留。
举个例子。

4列的值分别为:
A          B         C          D
Car      Car      Car      Car
Love    Peace  Fight   Fight
5         5           5          6

合并完的结果应该是

A|B|C|D
Car
Love|Peace|Fight
5|6

多谢!


二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-23 02:59:10
复制代码
二维码

扫码加我 拉你入群

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

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

2012-7-23 08:58:32
请问可不可以解释下indexw的用法 比如下面这些例子,我看不太明白。。
s='asdf adog dog';
p='dog  ';
x=indexw(s,p);
put x;

result:
11

s='abcdef x=y';
p='def';
x=indexw(s,p);
put x;

result:
0

x="abc,def@ xyz";
abc=indexw(x, " abc ", "@");
put abc;

result:
0

x="abc,def@ xyz";
comma=indexw(x, ",", "@");
put comma;

result:
0

x='abc,def% xyz';
def=indexw(x, 'def', '%,');
put def;


result:
5

x="abc,def@ xyz";
at=indexw(x, "@", "@");
put at;

result:
0

x="abc,def@ xyz";
xyz=indexw(x, " xyz", "@");
put xyz;


result:

9


另外如果这段想写进macro里面应该怎么改写阿
多谢!
二维码

扫码加我 拉你入群

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

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

2012-7-23 08:59:22
hopewell 发表于 2012-7-23 08:18
请问可不可以解释下indexw的用法 比如下面这些例子,我看不太明白。。
s='asdf adog dog';
p='dog  ';
x=indexw(s,p);
put x;

result:
11

s='abcdef x=y';
p='def';
x=indexw(s,p);
put x;

result:
0

x="abc,def@ xyz";
abc=indexw(x, " abc ", "@");
put abc;

result:
0

x="abc,def@ xyz";
comma=indexw(x, ",", "@");
put comma;

result:
0

x='abc,def% xyz';
def=indexw(x, 'def', '%,');
put def;


result:
5

x="abc,def@ xyz";
at=indexw(x, "@", "@");
put at;

result:
0

x="abc,def@ xyz";
xyz=indexw(x, " xyz", "@");
put xyz;


result:

9


另外如果这段想写进macro里面应该怎么改写阿
多谢!
二维码

扫码加我 拉你入群

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

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

2012-7-23 09:41:38
可以再试试find函数:
复制代码
二维码

扫码加我 拉你入群

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

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

2012-7-23 10:44:27
huangyao05 发表于 2012-7-23 08:59
请问可不可以解释下indexw的用法 比如下面这些例子,我看不太明白。。
s='asdf adog dog';
p='dog  ';
...
indexw()是从字符串中查找一个word,这个word是前后有分隔符分隔的。返回第一次出现这个word的位置。
第一个例子 在s中查找dog这个word,虽然第一次出现dog是在第7个位置,但是这个dog前面没有分隔符,所以算第二个。


第二个例子,def没有被分隔出来。所以没有找到

第三个例子,指定分隔符是@,abc后面的符号是"," 不是由指定的分隔符分割,所以没有找到。

第四个例子,同第三个例子。

第五个例子,用%和“,”分隔。 def前面是","后面是"@".前后都有分隔符,是一个word.

第六个例子,用@分隔,查找@。

最后一个,前面有@,后面是字符串末尾,是合法的word.

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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