SAS中文论坛
标题:
字符串处理
[打印本页]
作者:
shiyiming
时间:
2003-10-30 09:44
标题:
字符串处理
PROC TABULATE DATA=数据集1;
OUT=数据集2;
MISSING
;
VAR ACTUAL PREDICT;
CLASS REGION DIVISION PRODUCT COUNTRY;
TABLE /* Row Dimension */
REGION,
/* Column Dimension */
COUNTRY*
ACTUAL*(
Sum
RowPctSum)
DIVISION*
ACTUAL*(
Sum
RowPctSum);
RUN;
写 一个宏,传入字符串str='REGION,COUNTRY*ACTUAL*(Sum RowPctSum) DIVISION*ACTUAL*(Sum RowPctSum)';
生成如下新的字符串 'REGION COUNTRY ACTUAL_Sum','REGION COUNTRY ACTUAL_RowPctSum_100'
'REGION DIVISION ACTUAL_Sum','REGION DIVISION ACTUAL_Sum',希望用到循环;
ACTUAL_Sum, ACTUAL_RowPctSum_100是数据集合2在数据集1的str串基础上生成的变量;
作者:
shiyiming
时间:
2003-11-3 10:34
标题:
Re: 字符串处理
[quote="sasprog":f72e5].. 写 一个宏,传入字符串str='REGION,COUNTRY*ACTUAL*(Sum RowPctSum) DIVISION*ACTUAL*(Sum RowPctSum)';
生成如下新的字符串 'REGION COUNTRY ACTUAL_Sum','REGION COUNTRY ACTUAL_RowPctSum_100'
'REGION DIVISION ACTUAL_Sum','REGION DIVISION ACTUAL_Sum',希望用到循环;
ACTUAL_Sum, ACTUAL_RowPctSum_100是数据集合2在数据集1的str串基础上生成的变量;[/quote:f72e5]
能否将您的用意写清楚?为什么要传入table语句后的内容,而获得四种组合字符串?
*********************************************************;
如果单从字面意思理解,可以将:
ods output position =_pos;
proc contents data=数据集合2( drop= _TYPE_ _PAGE_ _TABLE_) position;
run;
ods output close;
proc transpose data = _pos out=数据集合2;
var variable;
run;
数据集_pos:
Obs _NAME_ COL1 COL2 COL3 COL4 COL5
1 Variable REGION DIVISION COUNTRY ACTUAL_Sum ACTUAL_PctSum_100
在按你的要求组合一下。但显然这很难符合你的要求,因为我不太清楚你的目的!
*********************************************************;
写得越清楚,大家越能给个较快的回复!
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2