我有一个名为Tabling的表。
Name Number
Price A 10
Price B 11
Quantity A 12
Quantity B 13
如何编写一段代码的Proc SQL代码,我创建一个变量Saying %let Variable = "Price"
,然后说出类似的内容
我正在创建一个名为选择的表来自Tabling
Proc SQL;
Create Table Selection As
Select *
From Tabling
Where Name Contains %Variable;
Quit;
我需要的是Proc SQL与宏变量相关联,而不在SQL代码中明确说明“价格”。
请帮我解决这个问题。先感谢您。
答案 0 :(得分:0)
您正在寻找由您的代码创建的宏变量:
break
请删除那些" ",或者它们将是你的宏变量的一部分(变量应该包含Price,而不是" Price",这不是datastep代码,这是宏语言)。
您的宏变量将使用&符号而不是百分比来声明。因此,您不会%let variable = Price;
而是Where Name contains %variable;
。
还要考虑对每个字符串进行整理,字符串比较区分大小写," Price"与" price"不同,因此您可以使用where Name contains "&variable";
。
你真的需要阅读一本书或宏语言编程指南来了解你在做什么。 如果您需要进一步澄清,请与我们联系。