Sas 如何使用前一行的值创建字符串

Sas 如何使用前一行的值创建字符串,sas,Sas,我有一张表,上面有n个月期间的帐号列表。我需要做一个桶串如下..请帮助基地SAS ACC Bucket Month bucketstring 123 0 jan18 0 123 1 feb18 10 123 2 mar18 210 345 0 feb18 0 345 1 mar18 10 retain语句用于在数据步骤期间发生的隐式循环迭代期间维

我有一张表,上面有n个月期间的帐号列表。我需要做一个桶串如下..请帮助基地SAS

ACC Bucket Month bucketstring
123      0        jan18     0
123       1        feb18   10
123        2       mar18  210
345       0        feb18    0
345       1        mar18  10
retain语句用于在数据步骤期间发生的隐式循环迭代期间维护非set变量的值

此示例适用于0到15个月的ACC组。超过月数的ACCs将在日志中看到一条消息

data want;
  set have;
  by ACC;

  length bucketstring $20; * bucketstring might have to be made longer;
  retain buckstring;

  if length (bucketstring) = 20 and not first.ACC then
    put 'ERROR: bucketstring has to be longer for the case of ' ACC= month=;

  if first.ACC
    then bucketstring = cats(month);
    else bucketstring = cats(bucketstring,month);
run;
cats函数连接项目。项目会自动去除前导和尾随空格,并在必要时自动将数字项目转换为字符值