SAS从永久数据集创建永久格式

时间:2013-10-01 06:07:14

标签: dataset format sas

我有一个名为Branch(分支代码,分支描述)的永久数据集

我想从该数据集(永久数据集)创建一种格式

我可以看到这或多或少地给了我想要的东西,但现在把它放到一个永久的数据集中?

proc format library = Home.Branch fmtlib;
Run;

我尝试了什么

  proc print data=Home.DataSetToApply
  format B_Code $B_CODE_FORMAT.;
  RUN;

如果我手动创建格式,则此方法有效。我似乎无法直接从数据集创建永久格式。 你能指出我正确的方向吗?

资源 Creating a Format from Raw Data or a SAS® Dataset

2 个答案:

答案 0 :(得分:0)

SAS有一个autoexec.sas文件,在启动SAS时会执行该文件。 当然,这是否是一个有效选项取决于您的访问权限+您正在运行的操作系统。

看看这里:http://support.sas.com/documentation/cdl/en/hostwin/63285/HTML/default/viewer.htm#win-sysop-autoexec.htm

您可以在自动执行脚本中删除格式代码,然后在使用SAS时始终使用您的格式。

答案 1 :(得分:-1)

这将创建一个包含当前库中格式的数据集。

proc format cntlout=myfmtdataset lib=mylibname;
select myformatname; *if you want to just pick one or some - leave out select for all;
quit;

这会将其导回格式(稍后):

proc format cntiln=myfmtdataset lib=myotherlibname;
quit;

这当然可以在你的自动执行中,也可以在常规代码中。

如果您尝试使用数据集制作永久格式,则需要将其设置为:

必需:

  • fmtname =格式名称start =起始值(或单值)
  • end =结束值(如果只有单个值,则可能会丢失)
  • label =格式化值

可选:

  • type =格式类型(n =数字,c =字符,i = informat,j =字符信息)
  • hlo =各种选项(h =结束是最高值,l =开始是最低值, o =其他,m =多标签等。)

然后使用CNTLIN选项加载它。如果需要,SAS文档会提供更多详细信息。