我已经下载了一个sas数据集和一个格式目录。这可能是超级基础,但我似乎无法设置库,以便我可以使用这些格式,除非使用NOFMTERR选项,否则我无法打开数据集。他们都在同一个窗口文件夹中。请帮忙。如何将数据集与sas中的格式目录匹配
2
A
回答
2
下面的代码应解释如何(库mylib
在这种情况下)的FMTSEARCH
选项,指定哪个库中搜索SAS格式添加库:
/* Display the current fmtsearch option - librefs searched in order for formats */
%put %sysfunc(getoption(fmtsearch));
libname mylib 'windows-folder';
/* Append the library containing the format catalog */
options append=(fmtsearch=mylib);
/* Check the fmtsearch option again */
%put %sysfunc(getoption(fmtsearch));
只需指向SAS到图书馆,您的格式目录是,并且这应该解决格式错误并允许您显示格式化的数据。
1
对于9.1.3的用户,您可以直接更改fmtsearch
选项。这里有一个与上面的@ mjsqu代码最相似的方法(保留已经存在的格式选项)并附加到最后。
* Store fmtsearch option value in macro variable;
%let fmtsearch=%sysfunc(getoption(fmtsearch));
*Append NEWLIB to the end (assuming NEWLIB is your library name);
*Uses SUBSTR to strip off the end parenthesis;
%let fmtsearch_new = %substr(&fmtsearch,1,%length(&fmtsearch.)-1) NEWLIB);
*Check new value;
%put &fmtsearch_new;
*Set fmtsearch option to new value;
options fmtsearch=&fmtsearch_new.;
*Check that option was set;
%put %sysfunc(getoption(fmtsearch));
当然,如果多次运行此操作,它会多次重新附加值;这不是有害的,但可能看起来很奇怪。你可以做一些额外的检查,看看它是否已经在字符串中,如果是的话,不要重新添加。
相关问题
- 1. 如何匹配SAS中的数据
- 2. 来自多个表/数据集的Oracle/SAS记录匹配
- 3. 搜索和匹配单个数据集的观察与SAS
- 4. 使用SAS格式目录
- 5. 将SAS数据集中的数据分配给变量(SAS E指南5.1)
- 6. 如何打印没有格式的数据集SAS
- 7. 如何在电子表格中将部分数据集与完整数据集进行匹配?
- 8. SAS数据集:匹配IF条件的计数观察
- 9. 如何获取SAS中数据集的记录数
- 10. SAS的格式化数据
- 11. 如何子集数据SAS
- 12. 我如何通配目录中匹配
- 13. 将与格式匹配的短语匹配的HTML搜索
- 14. 将SAS数据集重新格式化为多个观察
- 15. SAS中的正则表达式匹配
- 16. 正则表达式匹配目录然后匹配子目录
- 17. 如何将此日期格式与正则表达式匹配?
- 18. 将内存中的集合与数据库中的集合匹配的方法
- 19. 将建模数据集的分布与观测数据集的分布匹配?
- 20. 如何消除SAS数据集中的重复条目?
- 21. 将宽数据集更改为SAS中的长数据集
- 22. SAS中的MGGarlic数据集
- 23. 如何将数据集的名称作为SAS列中的列
- 24. 如何将Jtextfield值与模式匹配?
- 25. 匹配printf格式与iomanip
- 26. 将SAS数据集加载到Hadoop中
- 27. 无法将数据与PHP中的正则表达式匹配
- 28. 目录中的匹配模式如何删除文件
- 29. Git:我如何忽略子目录中的匹配目录?
- 30. 子集的SAS大小与预期频率不匹配
什么时候将'options append ='添加到SAS?它在9.1.3中不起作用。 – user667489
@ user667489看起来像9.2,因为它在9.2的文档中。 – Joe
这对我来说也是一个新的! – mjsqu