SAS中的冒号和竖条

时间:2016-07-05 15:23:12

标签: sas sas-macro

SAS新手。我知道以下代码正在创建一个存储变量名称列表的宏变量,但是做什么:和|意思?

%let v_lst = a b bb: t_v129 |
             c tt: t_v16 t_v275 |
             d: t_v56 |
        ;

2 个答案:

答案 0 :(得分:3)

酒吧|没有固定的含义。它可能用作分隔符。稍后将宏变量拆分为由|分隔的子字符串。这通常使用%scan函数完成,并代表一种列表处理方式。

冒号表示前缀。 bb: - 所有以bb开头的变量。许多SAS PROC和datastep都可以通过这种方式处理变量列表。

答案 1 :(得分:1)

您可以将任何内容放入宏变量中,重要的是您接下来要做的事情。现在作为约定,|符号可以方便地用作字段/值分隔符,而冒号没有我所知道的明确的“常规”用法。根据上下文,它可能意味着其左侧的值(列/变量)将与其右侧的值(可能是其他列)相关联。但是你真的需要进一步查看代码并使用&v_lst寻找循环,可能还有scan()%scan()函数。