首页 > 解决方案 > SAS 新手:有没有办法在 Proc sql 中创建变量(整数)并在整个脚本中调用它?

问题描述

我精通 SQl、Excel 和 Python,但 SAS 对我来说是新手。问题:您能否创建一个变量整数为 (Python: x=01Jul2020 or y=4) 并在整个文档中调用它?我想创建一个在多个 Proc SQL 语句中包含一个日期的脚本(比如 01Jul2020)。如果我想查看不同的时间点(从 01JUl2020 更改为 01Aug2020),我只需要更改脚本开头的变量,而不是在我使用这个日期的所有地方?以及如何在 Proc SQL 语句的文档中调用此变量?

谢谢!

标签: sasproc

解决方案


在源代码中使用MACRO符号(通常称为宏变量)。宏变量的值在源代码中通过在符号前加上与号 ( &)来替换

例子:

%let x = `01JUL2020`d;  * value of macro variable is source code for a SAS date literal;
%let y = 4;

* ... Later ...;

Proc SQL;
  ...
  where claim_date = &x   /* resolve symbol in source code during code submission (running man) */
  ;

推荐阅读