SAS 中的数据分流到不同的文件当中

Posted elkan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAS 中的数据分流到不同的文件当中相关的知识,希望对你有一定的参考价值。

在一个文件中,对于一个变量,可能存在不同的类型,比如:性别,类别:男、女、共生

但是可能特定的情况下,只需要其中一个类型的信息,并且需要将信息保存到本地文件当中。

思路:

原始数据为一个 excel 文件

技术图片

 

(1)首先将本地文件(包含所有的信息),全部读取到 SAS 数据集当中

1 proc import out=Mysas.person2 datafile="C:\\Users\\hr\\Desktop\\person\\raw.xlsx" dbms=excel replace;
2     range = "Sheet1$";
3     getnames = yes;
4     mixed = no;
5     scantext = yes;
6     usedate = yes;
7     scantime = yes;
8 run;

(2)对全部信息的数据集,进行过滤,将不同的信息分类到不同的数据集中

data split_data Mysas.raw_partA Mysas.raw_partB;
set person;
    if sex="" then output Mysas.raw_partA;
    else output Mysas.raw_partB;
;
run;

(3)将不同的数据集,导出到本地的excel 中

1 proc export data = Mysas.raw_partB outfile = "C:\\Users\\hr\\Desktop\\person\\raw_partB.xlsx" dbms = xlsx replace;
2 sheet = "sheet1";
3 run;

 结果为:
生成除原始数据之外的另外两个表格文件

技术图片

raw_partA 的内容为:

技术图片

raw_partB 的内容为:

技术图片

这样就将所有的数据,按照性别分到不同的文件当中了。

完整代码:

 1 * 将数据表格进行切表,将不同的内容分到不同的表格当中 ;
 2 proc import out=Mysas.person2 datafile="C:\\Users\\hr\\Desktop\\person\\raw.xlsx" dbms=excel replace;
 3     range = "Sheet1$";
 4     getnames = yes;
 5     mixed = no;
 6     scantext = yes;
 7     usedate = yes;
 8     scantime = yes;
 9 run;
10 
11 data split_data Mysas.raw_partA Mysas.raw_partB;
12 set person;
13     if sex="" then output Mysas.raw_partA;
14     else output Mysas.raw_partB;
15 ;
16 run;
17 
18 proc export data = Mysas.raw_partA outfile = "C:\\Users\\hr\\Desktop\\person\\raw_partA.xlsx" dbms = xlsx replace;
19 sheet = "sheet1";
20 run;
21 
22 proc export data = Mysas.raw_partB outfile = "C:\\Users\\hr\\Desktop\\person\\raw_partB.xlsx" dbms = xlsx replace;
23 sheet = "sheet1";
24 run;

 

以上是关于SAS 中的数据分流到不同的文件当中的主要内容,如果未能解决你的问题,请参考以下文章

网络分流器-TCP报文重组和会话规则-网络分流器

Flink 从0到1学习 —— 如何使用 Side Output 来分流?

nginx根据header分流

网络分流器的分类?网络分流器在IDC监控运用案例

nginx 基于cookie分流

Flink 实战系列Flink 消费多个 Topic 数据利用侧流输出完成分流功能