【发布时间】:2021-03-28 01:04:36
【问题描述】:
这主要是关于效率的问题,因为我不熟悉 SAS 如何处理数据集。我运行的许多代码从具有连续日期的多个数据集中读取(这是否是连续的月/季度/年取决于数据集)。
目前,代码每次运行时都需要手动更新,以确保它们选择正确的日期,所以我会有如下内容:
Data Quarters;
Set XYZ_201803
XYZ_201806
...
...
XYZ_202006;
Run;
为了帮助整理代码并使其不那么乏味,我提出了一些不同的想法,并提出了一些想法,其中一个重要想法是将所有 XYZ_YYYYMM 数据集存储为一个数据集,附加数据集,因此可以使用以下日期的简单过滤器读取它们:
Data Quarters;
Set AppendedData;
Where Date > 201812;
Run;
就计算而言,这两个选项中哪一个更有效?在通常大小为几 GB 的数据集上,您会推荐哪个?每个想法还有哪些其他优点和缺点?
感谢您的任何意见。 :)
【问题讨论】:
-
我们使用了多种方法。我们保留一个包含最近 3 年数据的主大数据集,然后将历史数据拆分为较小的数据集。这意味着如果有人需要所有数据,它就在那里,但如果需要,他们也可以非常快速地使用大数据集。这些不是您唯一的选择 - 您还可以设计宏或动态命名,这样您就不必每次都手动更新日期。
标签: sas processing-efficiency enterprise-guide