【发布时间】:2015-06-17 13:02:37
【问题描述】:
我希望有人能帮助我。我有一些相当冗长的 SQL 代码,可以提取出一些信息,包括销售和网络数据。我需要为多个城市运行这个。但是,与其多次重新运行代码,不如每次手动更改城市。我想知道我是否可以使用宏,这样代码只写一次,但是城市是某种宏变量,当代码运行时,它会读取一个感兴趣城市的表格,输出将是一个表格每一个。
为了把事情放在上下文中,下面是代码的摘录,您可以在其中看到变量“City”,在这个例子中是“London”。
rsubmit;
proc sql;
create table help as
select distinct a.customer_id, max(a.level) as level, a.london
from (
select distinct customer_id, max(SESSION_DT) as session_dt format date9., TXT,
case when TXT in ('Gold') then 1
when TXT in ('Silver') then 2
when TXT in ('Bronze') then 3
else 4 end as level,
case when customer_id is not null then "3" else '' end as London
from search_data
where CITY in ('London') and TXT is not null
group by 1) a
group by 1;
quit;
endrsubmit;
【问题讨论】: