그래서 비교적 복잡한 프로세스로 인해 Netezza 데이터웨어 하우스에서 엄청난 양의 데이터가 삭제됩니다. 나는 두 개의 새로운 필드를 추가하여 모든 종류, 그룹, by 등의 새로운 필드를 추가하는 일반적인 rigamarole을 거쳤으며 필드는 일관되게 내 데이터를 최대 12 %까지 높였습니다. 나는에 끌어 또는 새 데이터를 병합 모든 조항 후 PROC 요약 연결 진단 도구로병합시 미스테리 값이 늘어나는
나는 두 PROC SQL 문
내 원래의 코드에서proc sql;
create table ACTUALALL_CD2 as
select stay_y, timeframe, daysout, Stay_mo
from ACTUALALL_CD
where stay_y = &curyr
group by stay_y, timeframe, daysout, Stay_mo
order by daysout, Stay_mo;
quit;
proc sort data=ACTUALALL_CD2 nodupkey;
by stay_y timeframe daysout Stay_mo;
run;
proc sql;
create table ACTUALALL_CD3 as
select
a.WeekN, a.timeframe, a.timen, a.week, a.daysout,
a.wdwe,a.marsha, a.room_pool_cd, a.cd_tier_rpgm, a.month_cal_id,
a.market_prefix_cd , a.yrpd2, a.stay_y, b.Stay_mo,a.Curr_code,
a.fxmonth, a.fxrate,a.yrpd, a.yrmon, a.Month,
a.RN_TY as RNTY, a.rev_ty as RVTY, a.USDRVTY, a.RVTY_CDUS,
a.Holiday_date, a.RN_LY as RNLY,
a.rev_ly as RVLY, a.USDRVLY, a.RVLY_CDUS
from ACTUALALL_CD a
inner join ACTUALALL_CD2 b
on b.daysout = a.daysout;
quit;
나는에서에서 하나 개의 값을 잃게로 내려 고립 dayout 필드 (값 1 ~ 18의 필드 값 7) (내가하고 싶은) 그리고 그 결과 내 출력 값이 줄어 듭니다. 이 코드와 비교하면 (이 코드와 기존 코드의 차이점은 a.room_pool_cd와 a.cd_tier_rpgm이라는 추가 된 값뿐입니다).
이 코드를 어떻게 그 값을 없애는 지 알아 내야합니다. 저는 40 년의 sas 경험을 겸비한 두 명의 남자들이 이걸 실행했습니다. 편집이나 재 작성에 대한 제안은 크게 감사하겠습니다.
변경하기 전에 코드를 표시 할 수 있습니까? 또한, 이들을 실행하는 데 노트 및 경고 (있는 경우)를 제공 할 수 있습니까? 그리고 각 단계에서 판독/출력되는 관측 수. –
daysout에 dups가 있는지 확인하십시오. var. 두 데이터 세트 모두. – Reeza