带点字符的SAS宏函数输入字符串
我试着写下:带点字符的SAS宏函数输入字符串,sas,Sas,我试着写下: %ACTUAL_CAL(CQ_20140203,MINUTE15_group0.csv) 但是,它返回一个错误: 320 MINUTE15_group0.csv ___________________ 22 201 ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted
%ACTUAL_CAL(CQ_20140203,MINUTE15_group0.csv)
但是,它返回一个错误:
320 MINUTE15_group0.csv
___________________
22
201
ERROR 22-322: Syntax error, expecting one of the following: a name,
a quoted string.
我想知道为什么CQ_20140203字符串运行良好,而后一个字符串返回错误?是因为这个点吗?我该怎么修
更新:
我计划以后像这样使用MINUTE15_group0.csv
:
%MACRO ACTUAL_CAL(DATE_VAR,fname);
DATA TICKERS_NBBO;
INFILE 'groups/&fname';
INPUT SYMBOL $;
RUN;
%MEND;
因此,我认为简单地用引号包围
MINUTE15_group0.csv
是行不通的,因为它稍后还会将引号添加到我的infle
路径中 结果证明乔是对的。我应该用双引号而不是单引号包围宏变量
以下内容应该是正确的:
INFILE "groups/&fname";
你所拥有的东西没有本质上的错误;像你描述的那样,一个点在一个宏变量中是完全可能的。您发布的错误与宏参数本身无关,但它是由宏参数的使用所导致的错误。您需要显示完整的代码并给出错误(即,如果我将粘贴直接从问题复制到SAS窗口,它将运行并显示错误)。您的示例宏应该可以正常工作,除了它有单引号,需要双引号来解析宏变量。