宏中的SAS Proc SQL

宏中的SAS Proc SQL,sql,variables,sas,sas-macro,Sql,Variables,Sas,Sas Macro,我正在使用下面的测试数据集测试宏,但返回一个没有行的表。SQL似乎无法识别where子句中的条件。请帮忙看看出了什么问题。非常感谢 测试数据集: 索引_1 索引2 1. x_1 1. x_2 2. x_1 2. x_3 您可能会得到零个观察值,因为索引2的值都不是文本x\u&i.。如果在字符串外部使用单引号,则在使用宏触发器查找文本时,宏处理器将忽略该字符串。使用双引号使字符串文字化,宏处理器将处理对宏变量I的引用 where index_2 = "x_&i." 现

我正在使用下面的测试数据集测试宏,但返回一个没有行的表。SQL似乎无法识别where子句中的条件。请帮忙看看出了什么问题。非常感谢

测试数据集:

索引_1 索引2 1. x_1 1. x_2 2. x_1 2. x_3
您可能会得到零个观察值,因为索引2的值都不是文本
x\u&i.
。如果在字符串外部使用单引号,则在使用宏触发器查找文本时,宏处理器将忽略该字符串。使用双引号使字符串文字化,宏处理器将处理对宏变量I的引用

where index_2 = "x_&i."

现在您只需要担心索引2是否包含文本文本
x\u 1

不返回行,因为
create table
不返回行。很抱歉,我的意思是创建的临时表是空的。在单引号内时不会解析宏变量。使用双引号<代码>“x&i.”。如果您试图获得一个交叉表格,显示哪些索引_2与哪些索引_1相关联,那么有更好的方法。