Sas 基于另一个变量的值创建变量

Sas 基于另一个变量的值创建变量,sas,Sas,我有两个组A和B,以及两个数值变量X和Y。我想根据组B的X和Y(分别)值创建两个新变量new1和new2(即,如果组=B,则new1=X,new2=Y)。我想获取这些新创建的变量,将它们附加到组A,然后删除组B。最后,组A应该有一行包含X、Y、new1和new2。我不知道怎样才能做到这一点 我已经研究过使用PROC转置,但我不确定这是否是正确的起点。我的互联网搜索缺乏,因为我甚至不知道该怎么称呼我正在尝试做的事情,尽管我打赌这是一个需要通用解决方案的通用过程 不确定如何概括问题,但对于给定的问题

我有两个组A和B,以及两个数值变量X和Y。我想根据组B的X和Y(分别)值创建两个新变量new1和new2(即,如果组=B,则new1=X,new2=Y)。我想获取这些新创建的变量,将它们附加到组A,然后删除组B。最后,组A应该有一行包含X、Y、new1和new2。我不知道怎样才能做到这一点

我已经研究过使用PROC转置,但我不确定这是否是正确的起点。我的互联网搜索缺乏,因为我甚至不知道该怎么称呼我正在尝试做的事情,尽管我打赌这是一个需要通用解决方案的通用过程


不确定如何概括问题,但对于给定的问题,这将起作用:


/* Just reversing the records */
proc sort data = have; 
  by descending group;
run;

data want;
  set have;
  retain new1 new2;
  if _N_ = 1 then do;
    new1 = x;
    new2 = y;
  end;
  else output;
run;


不确定如何概括问题,但对于给定的问题,这将起作用:


/* Just reversing the records */
proc sort data = have; 
  by descending group;
run;

data want;
  set have;
  retain new1 new2;
  if _N_ = 1 then do;
    new1 = x;
    new2 = y;
  end;
  else output;
run;


这听起来像是一对一的合并(通过合并out


这听起来像是一对一的合并(通过
合并out


你能不能用一个例子来说明你的问题,说明你拥有什么和你想要什么。我已经添加了一个例子。基本上,我所追求的是从第2步过渡到第3步所需的一切。谢谢。你能用一个例子来说明你的问题吗?你有什么,你想要什么。我已经添加了一个例子。基本上,我所追求的是从第2步过渡到第3步所需的一切。谢谢