2017-08-03 91 views
1

我试图写: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 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用引号将无法正常工作,因为它也将引号添加到我的INFILE稍后的路径。

+0

没有什么内在的错误,你有什么存在;像你描述的那样,一个点在宏变量中肯定是可能的/很好的。您发布的错误与宏参数本身无关,但是由于正在使用的任何宏参数而导致的错误。你需要显示* complete *的代码并且会给出错误(例如,如果我直接从问题复制粘贴到SAS窗口中,它会运行并显示错误)。 – Joe

+1

您的示例宏应该可以正常工作,除了它具有单个引号“',它需要双引号”“来解析宏变量。 – Joe

回答

1

事实证明乔是正确的。我应该用双引号而不是单引号括起一个宏变量。

下应该是正确的:

INFILE "groups/&fname";