SAS 存储过程用户进入列表

Posted

技术标签:

【中文标题】SAS 存储过程用户进入列表【英文标题】:SAS Stored Procedure User Enters List 【发布时间】:2017-05-31 21:31:50 【问题描述】:

是否可以在 SAS Enterprise Guide 中创建存储过程并允许用户输入值列表,而无需手动输入列表?

我使用的 Base SAS 比 EG 多,所以我不是存储过程方面的专家。目前,我所在地区的分析师可能必须搜索如下值列表:

012345678
123456789
231456789
091236574
439857345
120129038
230918239
....
....
N

并且正在使用为输入这些值而构建的存储过程。但是,这并不高效,因为最后一个值可能 > 40,并且 SAS 一次只允许您输入一个。

我已经和提示经理混了一个小时左右,但没有任何运气。我还尝试使用我导入的 excel 文档“从静态列表中选择用户”。哪个特别有效,但是,因为值总是不同的,我不知道如何让 EG 首先导入这个 excel 文档,然后提示她选择所有(新)值,然后运行程序的其余部分。

此外,似乎每次导入文档时我都必须更改提示管理器中的“静态值列表”,即使程序的其余部分以导入 excel 文档为条件。我将继续玩这个,但想知道是否有人以前做过这个。

【问题讨论】:

【参考方案1】:

听起来您想要“从动态列表中选择多个值”。我建议您阅读将所有响应选项保存到 SAS 数据集中的 excel 文件。然后在 SAS 元数据服务器中注册该数据集。创建动态提示时,您指向包含响应选项的源 SAS 数据集。创建提示后,您可以随时更新数据集(添加/删除记录),然后 STP 用户将在提示中看到这些更新的响应选项。

也可以在元数据中注册 Excel 文件,而不是将其读入 SAS 数据集。但我总是尽量限制 Excel 的使用。

【讨论】:

以上是关于SAS 存储过程用户进入列表的主要内容,如果未能解决你的问题,请参考以下文章

如何接收和过滤来自报告的存储过程的数组数据是SAS

从 SAS 调用 Netezza 存储过程

语法检查所有存储过程?

sql server 2008,如何查看存储过程里面的内容?

用存储过程填充下拉列表(显示用户名),然后向用户显示全名而不是用户名-慢

项目存储过程记录