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

Make a string in SAS from one column

我在 SAS 中有一个数据集,我想通过产品将一列转换为字符串。我附上了所需输入和输出的图像。 我需要输出中的 Colomn STRING。谁能帮帮我?

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

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;

这是我的快速解决方案。

data temp;
  length cat .;
  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;