sas - SAS 宏条件语句不创建表
问题描述
当我运行下面的 sas 代码时,它不会生成表。我究竟做错了什么?谢谢。
%macro createData(test=);
%if 2+2 = 4 %then %do;
proc sql;
create table test as
select
*
from datasets.mydata
;
quit;
%end;
%mend;
解决方案
只要您实际调用宏,该代码就可以正常运行!
你还需要一行:
%createData(test=1);
(test=1
是任意的,因为你没有对&test
宏参数做任何事情,我只是选择了我想要的任何东西)。
SAS 宏在其他编程语言中与方法类似——它们在被调用之前不做任何事情,运行宏定义本身只是编译宏并准备好使用。
推荐阅读
- powershell - MSIExec 通过 Powershell 安装
- arrays - 仅在满足条件时运行 puppet 类
- javascript - 试图在 localstorage 中获取对象的索引,以便我可以使用 javascript 或 jquery 从 localStorage 存储中删除/删除该对象
- app-store-connect - App Store Connect API 请求销售报告
- mysql - Amazon Lightsail vs Amazon RDS
- javascript - 使隐藏元素显示自身,然后使用过渡移动
- r - R中的dplyr过滤器和for循环
- python - How to make the GUI using Tkinter of the format specified below?
- php - Removing duplicates from merged array
- django - pass the foreign key of a model in the url