具有宏阵列的sas扫描功能

问题描述 投票:0回答:1

我有一个宏数组和start_num

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

但是当我使用的时候

%put %scan(&start_num,1);

它返回:25

%put %scan(&start_num,2);

给我回报:533

为什么以及如何解决它?

sas
1个回答
0
投票

因为%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

© www.soinside.com 2019 - 2024. All rights reserved.