从一列在SAS中创建一个字符串

时间:2018-05-25 07:39:54

标签: sas proc-sql

我在SAS中有一个数据集,我想通过Product将一列转换为字符串。我附上了所需的输入和输出图像。 我需要在外面的Colomn STRING。有人可以帮帮我吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

我编写了一个数据步骤来创建输入数据:

data have;
   input products $
         dates
         value
   ;

   datalines;
a 1 0
a 2 0
a 3 1
a 4 0
a 5 1
a 6 1
b 1 0
b 2 1
b 3 1
b 4 1
b 5 0
b 6 0
c 1 1
c 2 0
c 3 1
c 4 1
c 5 0
c 6 1
;

以下建议的解决方案是否能满足您的需求?:

data want;
   length string $ 20;

   do until(last.products);
      set have;
      by products;

      string = catx(',',string,value);
   end;

   do until(last.products);
      set have;
      by products;

      output;
   end;
run;

此致 阿米尔。

答案 1 :(得分:0)

这是我的快速解决方案。

data temp;
  length cat $20.;
  do until (last.prod);
    set have;
    by prod notsorted;
   cat=catx(',',cat,value);
  end;

  drop value date;
run;

proc sql;
  create table want as
  select have.*, cat as string
  from have inner join temp
  on have.prod=temp.prod;
quit;