具有宏阵列的sas扫描功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有宏阵列的sas扫描功能相关的知识,希望对你有一定的参考价值。

我有一个宏数组和start_num

+-------+
| start |
+-------+
|  25.5 |
|  33.5 |
|  42.5 |
|  54.5 |
|    98 |
+-------+

但是当我使用的时候

%put %scan(&start_num,1);

它返回:25

%put %scan(&start_num,2);

给我回报:533

为什么以及如何解决它?

答案

因为%scan认为dot是分隔符,所以你分别得到25和533。结帐以下示例

%let start_num= 25.533.545.554.598;
%let var1 = %scan(&start_num,1);
%put value of with dot as separator &var1;

%put&var1产生25

 %let var2 = %scan(&start_num,2);
 %put value of with dot as separator &var2;

%put&var2产生533

以上是关于具有宏阵列的sas扫描功能的主要内容,如果未能解决你的问题,请参考以下文章

伪代码转换为SAS宏代码

使用文件中的代码作为 SAS 宏变量的内容

LSI SAS 2208 阵列卡刷 IT 模式

sas 宏的问题

光纤硬盘磁盘阵列sas硬盘磁盘阵列哪个好

在宏内部使用变量内部数据集名称时,SAS语法错误22和200