0

我有一个名为 Branch(Branch code, Branch description) 的永久数据集

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

我可以看到这或多或少地给了我想要的东西,但是现在将其放入永久数据集中?

proc format library = Home.Branch fmtlib;
Run;

我试过的

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

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

资源 从原始数据或 SAS® 数据集创建格式

4

2 回答 2

0

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

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

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

于 2013-10-01T06:36:59.170 回答
-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 = 结束值(如果只有单个值,则可能会丢失)
  • 标签 = 格式化值

选修的:

  • type = 格式类型 (n=numeric, c=character, i=informat, j=character informat)
  • hlo = 各种选项(h=end 是最高值,l = start 是最低值,o=other,m=multilabel 等)

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

于 2013-10-01T14:09:28.590 回答