如何将统计表与参考表(SQL 或 SAS)连接

问题描述 投票:0回答:1

我有来自 TABLE_STATS 的统计数据。前任。 :

ID  YEARH   MONTH   STATS...
1   2023    11      40
2   2023    11      43
1   2023    12      56
2   2023    12      65
...

还有我的 ID 的 TABLE_REFERENCE。前任。 :

ID PROVINCE  CITY  ...
1  QUEBEC  QUEBEC CITY
2  QUEBEC MONTREAL
...

我想简单地将 TABLE_REFERENCE(如 REGION)中的字段添加到 TABLE_STATS 的相应 ID(例如,按区域构建统计数据)。

ID  YEARH   MONTH   STATS  PROVINCE
1   2023    11      40     QUEBEC
2   2023    11      43     QUEBEC
...

我尝试了“PROD SQL”代码和“DATA, MERGE”(SAS 中)代码的多种组合,但实际上没有任何效果。你有制胜秘诀吗?

非常感谢!

sql sas backend
1个回答
0
投票

对于你的例子来说效果很好。

data stats;
  input ID  YEARH   MONTH   STATS;
cards;
1   2023    11      40
2   2023    11      43
1   2023    12      56
2   2023    12      65
;

data reference ;
  input ID PROVINCE :$20. CITY $30. ;
cards;
1  QUEBEC  QUEBEC CITY
2  QUEBEC MONTREAL
;

proc sql;
create table want as
  select *
  from stats a
  left join reference b
  on a.id = b.id
;
quit;

结果

OBS    ID    YEARH    MONTH    STATS    PROVINCE       CITY

 1      1     2023      12       56      QUEBEC     QUEBEC CITY
 2      1     2023      11       40      QUEBEC     QUEBEC CITY
 3      2     2023      11       43      QUEBEC     MONTREAL
 4      2     2023      12       65      QUEBEC     MONTREA

确保 ID 变量唯一标识参考表中的观测值。

© www.soinside.com 2019 - 2024. All rights reserved.