
4.3 数据步读Excel格式文件建立数据集
对于Excel生成的外部数据文件,通过数据步建立数据集时需要先通过SAS过程步中的IMPORT过程生成SAS可以识别的数据集,然后再根据需求对生成的数据集进行处理,这样过渡到数据步,就可以运用SAS函数对字段进行处理,以满足业务需求了。
4.3.1 Excel格式文件建立数据集
对于Excel格式外部数据文件,SAS建立数据集时分两步来处理,第一步先通过过程步SAS内部过程IMPORT把Excel格式外部文件不做任何处理生成SAS数据集;第二步根据业务需求再对已经生成的Excel数据集进行处理。这类文件存储形式如图4-18所示。

图4-18 Excel文件
●通过SAS内部IMPORT过程,先把Excel文件读取出来,转换成SAS数据集。
导入程序如下。

【例4.35】为调控楼市,国家对楼市进行摸底调查,调查数据文件存储路径为“d:\sastest\yxy\cecus_hous.xls”,生成的数据集名为cecus_hous,保留里面的Area、Name、Floor、Size、Bedroom和dininng等字段。
1)通过IMPORT过程生成数据集cecus_h。

【程序解读】
读取Excel文件时,如果第一行记录是字段名,则GETNAMES=YES;如果第一行记录不是字段名,则GETNAME=NO。
2)对已经生成的数据集,根据业务需求再用DATA步进行处理。

4.3.2 Excel格式文件数据集处理
对于Excel格式文件,根据业务需求,如果里面有字段需要处理,才能满足过程步对数据集的分析处理或作为数据挖掘的抽样数据,这需要借助于SAS系统内部的函数或连接字符来进行。SAS功能强大之处还在于它对数据集的强大处理能力,SAS内部函数众多,根据需求灵活运用这些函数就可以满足业务需求生成所需要的数据。
【例4.36】在【例4.35】生成的数据集名cecus_hous里变量name的内容要求前面加上“中国”两个字,过滤掉name里的空格,生成数据集cescus_hous2。

程序运行后输出窗口显示c_name列变量前面都加上了“中国”两个字,结果如图4-19所示。

图4-19 cescus_hous2数据集输出显示窗口