【发布时间】:2017-07-17 08:02:49
【问题描述】:
我有一个主数据集 A:
Var1 Var2 Var3
X 50 201704
Y 100 201705
Z 150 201704
Var1 - 字符串 Var2 - 数字 Var3 - 日期 yymmn6。
我想从前 3 个月的数据集(类似的 histpry 数据集)中提取所有这些记录的 var2。
比如说,对于 X 和 Z,我需要来自 201703、201702 和 201701 数据集的 var2 变量。对于 Y,我需要来自 201704、201703 和 201702 数据集的 var2。
然后我必须计算每个观察值的所有 var2 的总和。
我相信这是一个 sas 宏的工作。我无法显示我的代码,因为数据要复杂得多。
有人可以帮忙破解一下吗?
【问题讨论】:
-
您需要展示到目前为止您已经尝试过的内容,并就您遇到问题的某个领域提出具体问题。 VAR3 是字符变量吗?如果是这样,您将需要 INPUT 函数将其转换为日期。然后,您可以使用 INTNX 函数查找 1 个月、2 个月和 3 个月前的适当日期:blogs.sas.com/content/iml/2017/05/15/…
-
您能详细说明一下吗?您似乎有一个包含 3 个变量的数据集,但第 3 段似乎表明每条 yyyymm 行都指向单个数据集。是哪个?
-
那么这些其他数据集是什么样的呢?您是如何使用“201704”之类的名称创建它们的,SAS 无法将其用作成员名称?
-
其他数据集看起来也一样。它只是一种类似格式的月度数据集。 201704 是日期格式 yymmn6。
-
看起来VAR1是变量名,VAR3是数据集名(或者至少可以转换成数据集名)。但是您发布的示例数据中 VAR2 的目的是什么?您想将该值与从每月数据集中提取的值进行比较吗?
标签: sas-macro