SQL/SAS编码存疑

  • 本文关键字:编码 SAS SQL sas
  • 更新时间 :
  • 英文 :


我有一个数据集,格式如下:

Customer_ID Var1 Var2 Marketing_Channel  
  1          B    C         D  
  1          B    C         E  
  2          F    G         H  
  2          F    G         I  
  2          F    G         J  

我想要以下格式的结果:

Customer_ID Var1 Var2 Marketing_Channel Marketing_Channel1 Marketing_Channel2  
  1          B    C         D   E  
  2          F    G         H   I   J

因此,简而言之,我只想为customer_ID获得一行,其中列出了该客户的所有可能的营销渠道。我想在SQL/SAS中执行此操作。我该怎么做
如有任何帮助,将不胜感激

为此使用PROC TRANSPORTSE。

proc transpose data=have out=want prefix=marketing_channel;
   by customer_id var1 var2;
   var marketing_channel;
run;

这被称为将数据从"长"格式"重塑"为"宽"格式。

在本机SAS中,您可以使用proc transpose。查看SAS文档。另请参阅http://ats.ucla.edu/stat/sas/modules/longtowide_data.htm

[如果你坚持使用SQL,不确定最简单的方法,对不起。你可能会在另一个StackExchange网站上得到更好的回答,因为你的问题更多的是关于编码而不是统计方法。]

SELECT Customer_ID, Var1, Var2,COLLECT(Marketing_Channel) AS Channels FROM table_name GROUP  BY Customer_ID;

我希望这能回答你的问题。

最新更新