![洞察大数据价值:SAS编程与数据挖掘](https://wfqqreader-1252317822.image.myqcloud.com/cover/711/31251711/b_31251711.jpg)
4.3 数据步读Excel格式文件建立数据集
对于Excel生成的外部数据文件,通过数据步建立数据集时需要先通过SAS过程步中的IMPORT过程生成SAS可以识别的数据集,然后再根据需求对生成的数据集进行处理,这样过渡到数据步,就可以运用SAS函数对字段进行处理,以满足业务需求了。
4.3.1 Excel格式文件建立数据集
对于Excel格式外部数据文件,SAS建立数据集时分两步来处理,第一步先通过过程步SAS内部过程IMPORT把Excel格式外部文件不做任何处理生成SAS数据集;第二步根据业务需求再对已经生成的Excel数据集进行处理。这类文件存储形式如图4-18所示。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/162_01.jpg?sign=1738851211-QEENbGSvQtwOaa629wIDgOHmKgKFb9pc-0-b3b721ca4214aa466b6b9be25b1d1faa)
图4-18 Excel文件
●通过SAS内部IMPORT过程,先把Excel文件读取出来,转换成SAS数据集。
导入程序如下。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/162_02.jpg?sign=1738851211-YxE6AZr1Meqcl8nQmOgaoD8d5dTz54aM-0-f98bd04427295ea72e652d410956326a)
【例4.35】为调控楼市,国家对楼市进行摸底调查,调查数据文件存储路径为“d:\sastest\yxy\cecus_hous.xls”,生成的数据集名为cecus_hous,保留里面的Area、Name、Floor、Size、Bedroom和dininng等字段。
1)通过IMPORT过程生成数据集cecus_h。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/162_03.jpg?sign=1738851211-jz1YUmHFxrlrHaFHWndfs29xfCEn7K0y-0-3519cd297b3ee2f2079b0752285d6e5e)
【程序解读】
读取Excel文件时,如果第一行记录是字段名,则GETNAMES=YES;如果第一行记录不是字段名,则GETNAME=NO。
2)对已经生成的数据集,根据业务需求再用DATA步进行处理。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/162_04.jpg?sign=1738851211-ZMVVrmf5B3DLgN2HviaPDcPoPM3qNg6y-0-90845f9c7b94b06e45de8e373153fc15)
4.3.2 Excel格式文件数据集处理
对于Excel格式文件,根据业务需求,如果里面有字段需要处理,才能满足过程步对数据集的分析处理或作为数据挖掘的抽样数据,这需要借助于SAS系统内部的函数或连接字符来进行。SAS功能强大之处还在于它对数据集的强大处理能力,SAS内部函数众多,根据需求灵活运用这些函数就可以满足业务需求生成所需要的数据。
【例4.36】在【例4.35】生成的数据集名cecus_hous里变量name的内容要求前面加上“中国”两个字,过滤掉name里的空格,生成数据集cescus_hous2。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/163_01.jpg?sign=1738851211-RhPC9ceVHmDMQYOEkLfiXk93v2QfMBhp-0-e4f9e89329cdbcd9d341925d0b6899c0)
程序运行后输出窗口显示c_name列变量前面都加上了“中国”两个字,结果如图4-19所示。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/163_02.jpg?sign=1738851211-pYkZWO2JCJsMHeB04WZeiQYbZk1ydgqT-0-385356fa6e8ba837b76556359123987d)
图4-19 cescus_hous2数据集输出显示窗口