随着信息技术的发展,现在的数据库也越来越大,动不动就几十兆几百兆,甚至是GB、TB级的数据。如何对这种大型数据集进行分析,SAS由于其强大的数据管理能力,可能在这种大型数据处理上有优势。 仅就个人的一点点经验,谈几点SAS在大型数据处理中应用的看法: (1)数据整理过程中,尽可能的使用DATA步,而少用Proc SQL;因为同样的操作,个人感觉,使用data的效率(运行速度及其他)远远高于SQL语句。利用数据步的一些特殊选项和变量(OBS NOBS POINT END BY FIRST LAST MERGE MODIFY RETAIN OUTPUT)等,利用这些语句千变万化的应用,可以实现非常强大的数据整理功能。用这些语句的关键,是掌握SAS DATA步的编译原理,了解PDV的有关知识。 (2)使用好数据库的索引,SAS和其他数据库一样也可以建立索引,由于我们在处理小型数据集时,很少遇到速度的问题,可能对这个了解较少。使用索引可以大大提供一些数据查询等操作的速度。(当然,有利就有弊)。 (3)处理好“空间”和“时间”的问题:举例,如使用数据视图可以节省计算机的硬盘空间,但进行调用这个视图所花的时间要比物理性的数据集花的时间长。另一种情况,待分析数据集过于庞大时,我们又不可能把整个数据集读入,也不能太多的使用data步,产生大量临时数据。 (4)关于宏的使用:编写程序,思路和规划是非常重要的,做好整体的规划和思路和开发一个一样程序一样,只不过在SAS里不需要提供用户界面。通过使用宏,可以把代码进行切割,成为一个个独立的功能模块,每个模块实现固定的功能,即使不太懂SAS的用户也能方便调用,大大提供了程序的可读性(整体程序,不指程序内部)。 |