Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SAS中的分段_Sas_Segment - Fatal编程技术网

SAS中的分段

SAS中的分段,sas,segment,Sas,Segment,我有一个投资组合的数据集,想在SAS中进行一些细分。数据集的一部分如下所示: ID Var1 Prod Date Balance 1 10 L1 Jul-09 200 1 10 L2 Aug-09 300 2 5 L1.1 Aug-09 -150 2 5 L3 Sep-09 200 我想根据Prod中的值

我有一个投资组合的数据集,想在SAS中进行一些细分。数据集的一部分如下所示:

ID Var1   Prod      Date      Balance

1    10       L1    Jul-09        200  
1    10       L2    Aug-09        300  
2    5      L1.1    Aug-09       -150  
2    5        L3    Sep-09        200  

我想根据
Prod
中的值(例如
L1
L2
等)创建分段。有什么建议吗?

我不熟悉分段,但是你能使用class语句吗?

在你提供的上下文中分段有点含糊不清。如果您的意思是创建分段数据集,每个数据集都有与
Prod
中的唯一值相关联的观测值,那么您可以使用以下代码:


这可能更适合作为评论而不是回答。
/* define which libname.member table, and by which column */
%let TABLE=sashelp.cars;
%let COLUMN=origin;

proc sql noprint;
/* build a mini program for each value */
/* create a table with valid chars from data value */
select distinct 
   cat("DATA out_",compress(&COLUMN.,,'kad'),
   "; set &TABLE.(where=(&COLUMN.='", &COLUMN.,
   "')); run;") into :allsteps separated by ';' 
  from &TABLE.;
quit;

/* macro that includes the program we just generated */
%macro runSteps;
 &allsteps.;
%mend;

/* and...run the macro when ready */
%runSteps;