BookmarkSubscribeRSS Feed

[SAS 활용 FAQ] “MISSING”이라는 key word가 SAS dataset과 DBMS에 서로 다르게 적용되는 것 같아요.

Started ‎10-14-2021 by
Modified ‎10-14-2021 by
Views 296

[상세내용]

SQL DB table에 아래와 같은 명령을 주었을 때, 결과가 제대로 filtering 되지 않는 것을 발견했습 니다.

다른 SQL tabletest시에도 역시 filter 작동이 안되구요.

동일 dataworkSAS table로 떨군뒤 같은 명령을 수행시엔 문제없이 실행되구요. Missing key word만 이런 현상이 일어나는 것으로 보이는데 유사 사례에 대해 알고 계신 부분이 있는지 궁금합니다.

 

[실행안됨]

PROC SQL;

CREATE TABLE WORK.Test1 AS

SELECT t1.ODS_DATE,

t1.LOT_NO,

t1.DCC

FROM SASMART.M_LOT_PIN t1

WHERE t1.DCC NOT IS MISSING;

QUIT;

 

[실행됨]

PROC SQL;

CREATE TABLE WORK.Test2 AS

SELECT t1.ODS_DATE,

t1.LOT_NO,

t1.DCC

FROM WORK.Test1 t1

WHERE t1.DCC NOT IS MISSING;

QUIT;

 

[답변]

SAS에서 DBMS null 값과 SAS missing 값을 처리할 때 차이가 있습니다.

 

DBMS null 값은 데이터가 없는 것으로 해석되기 때문에 DBMS null 값을 정렬하거나 비교 연산자로 값을 평가할 수 없습니다.

하지만, SAS datasetmissing 값은 SAS 내부에서 부동 소수점으로 해석됩니다.

따라서, SAS는 missing 값을 기준으로 정렬하거나 비교 연산자로 비교할 수 있습니다.

Version history
Last update:
‎10-14-2021 06:04 AM
Updated by:
Contributors

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

Article Labels
Article Tags