FMTSEARCH 指定要检索的格式目录列表,语法如下:
OPTIONS FMTSEARCH=(catalog-specification-1<catalog-specification-2 … >);
使用PROC FORMAT时可以定义格式目录,LIBRARY=libref或LIBRARY=libref.catalog。格式目录可以是libref或libref.catalog。如果只指定了libref,那么SAS默认catalog名称为Formats。
【---------------------------------------------------------------------------------------------
对于下文中出现的MYLIB和LIBRARY的理解存疑,纯个人暂时观点,有待验证。
个人理解:
LIBRARY表示PROC FORMAT是LIBRARY指定的文件路径
MYLIB表示libname语句指定的路径
---------------------------------------------------------------------------------------------】
FMTSEARCH的默认值是(WORK LIBRARY)。所以目录(Work.Formats)和(Library.Formats)总是会被搜索,不管它们是否出现在FMTSEARCH列表中。
检索顺序:按照列表中出现的顺序从左到右依次搜索。其中Work.Formats目录总是最先被检索,Library.Formats目录则第二个被检索,除非它出现在FMTSEARCH选项中。
(如果列表中的某个目录不存在,则忽略该特定目录继续检索,不给出错误或警告消息。)
举例:
FMTSEARCH=(MYLIB LIBRARY);
会按照Work.Formats、MYLIB.formats和LIBRARY.formats的顺序搜索这些目录。
需要注意的是,如果在同一个程序中重复使用FMTSEARCH=列表。则最后一次定义的FMTSEARCH=列表才会生效,之前定义的都会被覆盖。
(等后续有其他使用心得时,再来更新...)