我正在寻找解决方案或想法,如何在sas中加速大型数据集的处理。
你有什么推荐的?
哪一个是更好的数据步骤或过程sql过程?
发布于 2018-03-27 18:57:08
数据处理的速度取决于数据的保存位置。
您的数据可以位于:中
在以下情况下使用SAS数据步骤:
在以下情况下使用Proc SQL:
你应该考虑的另一个主题是效率编程;在那里你可以优化你的查询和查找。
发布于 2018-03-27 03:54:25
我发现Proc SQL更适合我的用例。我们可能需要更多关于您尝试加入/导出的数据的大小和种类等细节。
给我们一些这方面的信息,我们可以试着提供帮助。
提示:限制您拖动子集数据的字段
发布于 2018-03-27 04:19:16
根据我的经验,Proc SQL似乎更快。
以下是使用Proc SQL提高查询速度的两个技巧
通常,您希望在查询时排除尽可能多的数据。如果您使用的是Proc SQL,那么where子句中限制的顺序很重要。把限制性最强的部分放在第一位。
例如,如果我要查询一个数据库,查找2005年1月之后聘用的姓氏为“琼斯”的教师,我会这样构造where子句:where last_name = 'JONES' and hire_date > 200501我之所以这样做,是因为姓氏可能会排除比聘用日期限制更多的记录。
如果可能,请不要使用Select *,列出您需要的特定列。请记住,即使使用列进行计算,也不必在select语句中包含该列。
这是一个非常有用的资源,可以帮助您理解如何有效地使用proc sql。如果您在SAS中处理大量大型数据集,我建议您完整地阅读它。
http://www2.sas.com/proceedings/sugi29/127-29.pdf
https://stackoverflow.com/questions/49499407
复制相似问题