【发布时间】:2012-06-20 10:53:33
【问题描述】:
我来晚了一个项目,想编写一个宏来规范化一些数据以导出到 SQL Server。
有两个控制表...
- 表 1 (customers) 有一个客户唯一标识符列表
- 表 2 (hierarchy) 有一个表名列表
然后有n 附加表。 (hierarchy) 中的每条记录一个(在 SourceTableName 字段中命名)。以...的形式...
- CustomerURN、Value1、Value2
我想将所有这些表合并为一个表 (sample_results),格式为...
- SourceTableName、CustomerURN、Value1、Value2
然而,应该复制的唯一记录应该是存在于 (customers) 表中的 CustomerURN。
我可以使用proc sql 以硬编码格式执行此操作,例如...
proc sql;
insert into
SAMPLE_RESULTS
select
'TABLE1',
data.*
from
Table1 data
INNER JOIN
customers
ON data.CustomerURN = customers.CustomerURN
<repeat for every table>
但每周都会将新记录添加到hierarchy 表中。
有没有办法编写一个循环,从hierarchy 表中提取表名,然后调用proc sql 将数据复制到sample_results 中?
【问题讨论】: