使用Excel文件存储SAS程序的更改参数

时间:2015-06-03 07:01:38

标签: excel parameters sas

我有一个模拟一个国家/地区税收系统的SAS程序,其中包含以下行:

if         0<income<bound1      then
    tax = rate1 * income;
else if    bound1<income<bound2 then
    tax = rate2 * income;

依旧......

我担心的是,我想在不同年份使用这个程序,并且所有参数都会随着时间而变化,至少是因为通货膨胀,还有财政变化。 因此,我希望所有参数如bound_1,rate_1等都在Excel文件中,我可以比SAS程序更容易地每年修改一次。

搜索到这一点,我只找到了如何从Excel读取数据集或如何在Excel中导出某些过程的结果,这不是我想要的。

更确切地说,我有一个Excel文件,比如“X:/TaxSystem.xls”,我想做类似的事情

if 0<income<"cellE1" then
    tax = "cellF1" * income;
else if    "cellE1"<income<"cellE1" then
    tax = "cellF2" * income;

所以我只会改变我的细胞,这将更可持续,并防止忘记改变一个值

1 个答案:

答案 0 :(得分:0)

我参与了一个类似的项目,在尝试了几种不同的方法之后,我认为最不容易出现令人不快的意外的方法是这样的:

  • 设置工作簿,以便在一张纸上隔离相关的Excel表格;
  • 创建一个VBA宏,将该工作表导出到新工作簿并将其另存为 .csv或.txt,然后关闭它;
  • 编程SAS以导入您创建的.csv或.txt文件。
  • 如果需要,您还可以向SAS添加代码,以便在导入后删除.csv或.txt文件。

我喜欢这种方法,因为它通过一个干净且易于理解的平面文件瓶颈来强制进程。这限制了Excel破坏你一天的方式。

如果你想真正集成它,你可以设置你的VBA宏来执行SAS程序,这样最终用户只需要点击一下就可以关闭整个程序。