【问题标题】:How to resolve apperant symbolic reference when import into SAS导入SAS时如何解决明显的符号引用
【发布时间】:2014-11-06 15:56:50
【问题描述】:

我正在尝试导入 .csv 文件,但路径中的 bp&d 中有 (&) 等特殊字符,其显示错误为 WARNING: Apparent symbolic reference D not resolved。我该怎么做。

过程导入 数据文件="\pa-storage\bp&d\fot\PRODUCTS\Daa-SQN\ATA\Pss10_ALL_IN_ALL.csv" 出=测试 dbms=csv 代替; 获取名称=是;运行;

【问题讨论】:

  • 这是一个警告,而不是错误。杰夫的解决方案应该让它消失;如果您愿意,您也可以忽略它(尽管最好让它消失)。只有ERROR: 专门阻止数据步处理(尽管警告甚至注释可能表明当然存在问题)。

标签: sas


【解决方案1】:

使用单引号 (') 而不是双引号 (")。然后 SAS 会将引用的路径解释为文字字符串,而不会尝试解析它包含的明显的宏变量(始终以 & 开头)。

我通常更喜欢使用单引号,并且只有在我明确想要包含宏变量时才使用双引号。

【讨论】:

    【解决方案2】:

    如果您出于某种原因需要双引号(例如您想要解析一个实际的宏变量),您可以使用多种方法来解决这个问题。最简单的方法是将& 包装在%str() 中。

    %put Some &s here;
    
    %put Some %str(&)s here;
    

    您还可以将字符串的一部分(或您不希望包含宏变量的所有字符串)包装在 %nrstr 或任何其他使用 nr init 引用的宏中。

    %put %nrstr(Some &s here);
    

    【讨论】:

      【解决方案3】:

      尝试使用此代码在 SAS Studio 上执行此操作。

      1. 将其上传到 SAS 文件和文件夹(所需文件夹) 然后使用此代码=

        proc 导入数据文件 = '';

      out = a

      dbms = csv 替换;

      运行;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-19
        • 1970-01-01
        • 2020-01-15
        相关资源
        最近更新 更多