2013-11-15 3 views
0

표 A에 ID와 Mean이라는 두 개의 열이 있고 표 B에 평균을 포함한 열의 긴 목록이있는 경우 Mean 열의 값을 어떻게 바꿀 수 있습니까? 표 A에있는 ID로 표 B에서?데이터 세트의 열 값을 다른 테이블로 업데이트

PROC SQL UPDATE와 DATASET MERGE 및 DATASET UPDATE를 시도했지만 두 테이블에서 열의 수가 같지 않으면 행을 계속 추가합니다.

답변

2
data want; 
merge have1(in=H1) have2(in=H2); 
by mergevar; 
if H1; 
run; 

값 중 하나에 대해 중복 값이 ​​없으면 H2가 행을 추가하지 않는다는 것을 보증합니다. 다른 조건도 사용할 수 있습니다. if h2;은 오른쪽 데이터 세트에 대해 거의 동일한 작업을 수행하며 if h1 and h2;은 두 테이블의 레코드 만 유지합니다.

PROC SQL 결합도 쉽게 작동해야합니다.

proc sql; 
create table want as 
select A.id, coalesce(B.mean, A.mean) 
from A left join B 
on A.id=B.id; 
quit; 
관련 문제