![洞察大数据价值: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=1739200572-LsLmnP9oQyN1gIhzsPcadjd83yuUQBAX-0-efa0608fdeab62f6af1606809f1bf366)
图4-18 Excel文件
●通过SAS内部IMPORT过程,先把Excel文件读取出来,转换成SAS数据集。
导入程序如下。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/162_02.jpg?sign=1739200572-ylJh1WeLbCYKKxWKbEVVhA6qWXbBErPO-0-ed23aa7e22839b5d6be32dcb97236711)
【例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=1739200572-V3RXHQbsLAu2ArLZyj2bkanpnkZEO3Mn-0-3281c250dad804e54d9a608f9263ea9c)
【程序解读】
读取Excel文件时,如果第一行记录是字段名,则GETNAMES=YES;如果第一行记录不是字段名,则GETNAME=NO。
2)对已经生成的数据集,根据业务需求再用DATA步进行处理。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/162_04.jpg?sign=1739200572-QUrhBIkdaMemFCMt1bzPJrLqch0pNWVm-0-f0f201ca268cedea2c3107ac5dcf92e5)
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=1739200572-Sxx45etMX9tTwmoJfTK5zetkMDJz4HyU-0-39bd9562bdabc2a4a90b5c7acd56c8e6)
程序运行后输出窗口显示c_name列变量前面都加上了“中国”两个字,结果如图4-19所示。
![](https://epubservercos.yuewen.com/A26672/16923818205021806/epubprivate/OEBPS/Images/163_02.jpg?sign=1739200572-Lg7bQovNcB4gNXH5CHJFONSZ5ga1vPvK-0-a5fbb22f8353412e45ad738e688c92bb)
图4-19 cescus_hous2数据集输出显示窗口