当前位置:首页 > 民俗文化

storing SAS岩论 | Macro系列——Macro Storing

宏系列指南

SAS宏是SAS大师不可或缺的技能,因为它足够强大,可以大大提高程序开发的效率。把你的时间和精力放在更有价值的事情上。

宏系列文章将一一呈现SAS Macro,带你走上从认识宏到熟练使用宏的道路。掌握SAS宏会让你的SAS编程能力上一段楼梯。

增长

时期

介绍了最后一篇文章“”。在每一种编程语言中,有些字符都有特殊的含义,但在某些情况下,我们并不需要它们有特殊的含义,只是把它们作为一个字符来使用。宏语言也不例外。如果您想使用具有特殊含义的字符作为普通字符,您需要使用宏引用。所以简单来说,宏引用就是隐藏宏语言中具有特殊功能的字符的功能。

参加

宏观系列(13)——宏观故事

本期介绍宏存储的话题,如何存储宏程序方便每次调用。也可以在团队内部共享,让整个团队提高工作效率。同时可以对一些核心程序进行编译存储,在与他人共享的同时保护源代码。

一般我们调用自定义宏程序时,需要运行一次宏程序的定义部分(即%MACRO语句和%MEND语句)。运行完这部分宏程序定义后,SAS会编译宏程序,存储在WORK的目录中。SASMACR如果不先运行自定义宏程序的定义部分就直接调用宏程序,SAS会提示没有这样的宏程序。

当SAS关闭再开启时。如果要再次调用自定义宏程序,还需要再次运行宏程序的定义部分。那么,有什么方法可以方便地重用宏程序呢?

1.最直接的方法

最常用的方法是上面提到的手工执行。将所有宏程序定义保存在一个SAS程序中,在SAS中打开这个程序,运行整个程序编译所有宏程序;或者选择性的运行一些宏程序的定义,编译一些宏程序使用。编译后的宏程序将存储在工作目录中。SASMACR..例如:

小费

要注意SASAUTOS= system选项,因为SAS启动的时候会初始化一些Autocall库,所以SASAUTOS会有一个默认值。如果直接覆盖SASAUTOS的值,SAS系统附带的宏将不可用。因此,赋值时,添加默认的SASAUTOS值。

SASAUTOS的默认值可以在SAS启动配置文件“sasv9.cfg”中找到。如果默认语言是中文,配置文件位于:

{SASHOME}SASFoundation9.4nlszh

打开这个文件夹中的sasv9.cfg文件,可以找到默认SASAUTOS对应的路径(也可以在这里直接添加自己存储宏程序的路径,这样就可以省略上面的步骤2和3)。

4.存储编译后的宏

Autocall可以自动搜索相应的宏程序进行编译运行,但每次第一次调用宏时,仍然需要先编译宏程序源代码,然后再执行宏。

但是,通过存储编译后的宏,可以节省编译宏程序的时间,提高效率。要存储已编译的宏,需要以下四个步骤:

使用LIBNAME语句定义存储编译宏的逻辑库;

使用系统选项MSTORED打开存储编译宏的功能,使用系统选项SASMSTORE =指定存储编译宏的逻辑库;

将STORE选项添加到%MACRO语句中;

提交%MACRO-%MEND宏程序定义代码,编译后存储在指定的逻辑库中;

一个

分配逻辑库

libnamecrealib " D:SAS macrosstored _ macros ";

2

使用系统选项

option mstored SAS mstore = macro lib;

添加STORE选项

% macro roc _ print(DSN,var)/store;

proc打印数据= & ampdsn

var &。var

跑步;

% mendproc _ print

提交运行代码

提交以上代码,运行后日志如下:

特殊用途

另外还有一个要求,就是封装核心代码。别人只能用,看不到源码。也可以通过存储编译后的宏来实现,只需在%MACRO语句中添加SECURE选项。您不能通过%COPY语句查看其源代码。例如:

% macro roc _ freq(DSN,var)/store secure;

proc freq数据= & ampdsn

桌子&。var

跑步;

% mendproc _ freq

% copy proc _ freq/source;

运行后日志文件:

可以看到日志显示因为SECURE没有显示的源代码。即使使用MPRINT和MLOGIC选项,也不会显示相关代码和宏变量,只会显示运行日志:

本文到此结束,主要围绕宏观故事展开。%INCLUDE语句经常在日常工作中使用,因为它最方便。如果某些敏感信息需要封装,可以加密编译存储,让用户看不到源代码。更多信息请关注SAS中文论坛——《SAS摇滚理论——宏观系列》。

剑指SAS,现在。欢迎各位技术专家交流。你可以按下面的二维码进入SAS中文论坛@Slash的微信群,或者发邮件:slash.xin@hotmail.com。

更多SAS摇滚理论系列文章

1.《storing SAS岩论 | Macro系列——Macro Storing》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《storing SAS岩论 | Macro系列——Macro Storing》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/1440747.html

上一篇

5岁儿子不懂牺牲 对着电视叫爸爸你啥时回来

下一篇

高玉良情人高小凤 《人民的名义》谁才是高育良的情人?不是高小琴?高育良有个6岁孩子又是咋回事?

行政法规制定程序条例 《规章制定程序条例》征求意见

法制网记者张伟国务院法制办公室今天就《规章制定程序条例》征求意见。《征求意见稿》明确,部门规章在没有法律或者行政法规、国务院决定、命令依据的情况下,不得设定减损公民、法人和其他组织权利或者增加其义务的规范,不得增加或者...

压强的定义 【初中物理】

压强的定义 【初中物理】

掌握初中物理的概念和方法!概念:学习物理的基础 物理概念和术语是学习物理的基础。只有掌握了它们,才能抓住问题的本质和关键。学习物理概念有五种方法: 1.分类 把学过的概念分类,找出它们的异同。初中物理的概念可以分为四类...

个体工商户登记程序规定 个体户登记当场受理当场发照 简易流程看这里

从3月30日起,我市将全面实施个体工商户简易登记改革,接受审查,颁发许可证,并办结晨报:拿着身份证在核查机上提取身份信息和照片,向登记人员口述业务范围、联系电话等信息...可以简单几个步骤当场申报,当场发放照片。昨天,...

程序员租女友遭骗 付路费后被拉黑

程序员租女友遭骗 付路费后被拉黑

程序员租女友遭骗 付路费后被拉黑  对于一些单身年轻人来说,春节将至也意味着新一轮“催婚”的到来。从前几年的“有钱没钱,回家过年”到如今的“不带男女朋友,不准回家”,“催婚”成为一些年轻人颇感无奈的问题。为了避免回家过...

壹财富官网 诚壹财富顾问新版本上线直言“重新定义理财师”

最近,作为金融技术领域的后起之秀,成毅财富顾问在本月初发布了全新的2.2.0版本。与早期版本相比,该产品在功能点和交互体验上有更大程度的创新,旨在通过创新的互联网技术为服务传统金融机构的从业者提供先进的解决方案,重新定...

壹财富 诚壹财富顾问新版本上线直言“重新定义理财师”

最近,作为金融技术领域的后起之秀,成毅财富顾问在本月初发布了全新的2.2.0版本。与早期版本相比,该产品在功能点和交互体验上有更大程度的创新,旨在通过创新的互联网技术为服务传统金融机构的从业者提供先进的解决方案,重新定...

长水机场大雾 遭遇大雾天气 昆明长水机场启动低能见度运行程序保障旅客出行

新华社昆明12月9日电12月9日,云南昆明遭遇大雾天气,云南气象台于12月9日7时30分发布黄雾预警。记者从昆明长水国际机场了解到,昆明长水机场出现了低能天气。截至上午10时30分,昆明机场已完成10个入境航班、81个...

杜绝货运乱罚款收费 严格执行执法程序

近日,交通运输部召开会议强调,要切实提高行政执法规范化水平。抓紧修订完善《交通运输行政执法程序规定》,严格执行执法程序,规范行使自由裁量权,坚决杜绝乱罚款乱收费、以罚代管,严格禁止粗暴执法、过度执法、趋利执法、选择性执法等问题。(交通运输部微信公号)...