小编use*_*280的帖子

将大型SAS数据集拆分为较小的数据集

我需要一些帮助,将大型SAS数据集拆分为较小的数据集.

每个月我都会有一个包含几百万条记录的数据集.这个数字每个月都有所不同.我需要将此数据集拆分为多个较小的数据集,每个数据集包含250,000条记录.例如,如果我在原始数据集中有1,050,000条记录,那么我需要最终结果是包含250,000条记录的4个数据集和包含50,000条记录的1个数据集.

从我一直看来,它似乎需要使用宏.不幸的是,我对SAS很熟悉(不熟悉使用宏)并且没有太多时间来完成这项工作.任何帮助将不胜感激.

macros split sas

5
推荐指数
1
解决办法
7016
查看次数

SAS-将行中的多个变量转置为列

我正在尝试使用数组来完成以下任务。但是,我以前从未使用过,并且遇到了一些麻烦。

基本上,我想获取以下数据并为每个acct,seq1,seq2组合创建一行(观察):

acct  seq1 seq2  la      ln
9999    1   10   20.01   100
9999    1   10   19.05   1
9999    2   11   26.77   100
9999    2   11   24.86   1
8888    3   20   38.43   218
8888    3   20   37.53   1
Run Code Online (Sandbox Code Playgroud)

这就是我要结束的。注意,为了节省空间,我仅显示la1到la3和ln1到ln3。实际上将转到la7和ln7:

acct  seq1  seq2     la1     la2    la3  ln1    ln2 ln3
9999    1   10      20.01   19.05   .    100     1   .
9999    2   11      26.77   24.86   .    100     1   .
8888    3   20      38.43   37.53   .    218     1   .
Run Code Online (Sandbox Code Playgroud)

这是到目前为止我尝试过的代码。任何帮助将不胜感激:

data want;
set have; 
by …
Run Code Online (Sandbox Code Playgroud)

sas

2
推荐指数
1
解决办法
9478
查看次数

SAS - 一个Excel工作表上的多个Proc报告

是否可以使用proc报告在一个excel工作表上堆叠多个表?例如,下面是我的代码的简化版本,我想使用第一个proc报告显示table1,然后跳过一行并在同一工作表的正下方显示table2.

ods listing close;
ods results off;
ods tagsets.excelxp file="c:\temp\char.xls" style=esgexcel ;

proc report data=table1 missing nowindows spacing=1;
column  field1
        field2
        field3 
        ;

define field1 /   'acct';
define field2 / format=mmddyy10.  'date';
define field3 / format=dollar22.2 'value';

run;

proc report data=table2 missing nowindows spacing=1;
column  field1
        field2
        field3 
        ;

define field1 /   'acct';
define field2 / format=mmddyy10.  'date';
define field3 / format=dollar22.2 'value';

run;

ods tagsets.excelxp close;
ods listing;
ods results;
Run Code Online (Sandbox Code Playgroud)

它不起作用.它将两个proc报告放在单独的工作表上.

sas proc-report sas-ods

1
推荐指数
1
解决办法
4643
查看次数

标签 统计

sas ×3

macros ×1

proc-report ×1

sas-ods ×1

split ×1