반응형 SAS635 [데이터 결합] Data Step에서의 카테시안 곱(Cartesian product) 구현하기 [데이터 결합] Data Step에서의 카테시안 곱(Cartesian product) 구현하기 교차 조인 (Cross Join) 은 말 그대로 두 개의 테이블을 그냥 붙였다는 개념이다. 아무런 조건이나 제한 사항 없이 양쪽은 있는 그대로 연결만 했다는 개념으로 생각을 하면 되겠다. 쉽게 2개 기준 테이블에 존재하는 전체 관측치를 교차하여 결합하는 방식으로 생각해도 큰 무리가 없다. Cartesian product 카테시안 곱은 두 개 이상의 기준 테이블에 대해 연결 가능한 행을 모두 결합하는 조인 방식. WHERE절에서 조인 조건절을 생략하거나 조인 조건을 잘못 설정하여 양쪽 테이블을 연결하는 조건을 만족하는 행이 하나도 없는 경우에 자주 발생한다. 카테시안 곱이 발생하면 각 테이블의 행의 수를 곱한 만.. 2021. 11. 16. [변수출력] 다양한 변수 리스트 출력 방식; [변수출력] 다양한 변수 리스트 출력 방식; * Proc SQL 구문의 feedback 옵션 Proc SQL 구문의 feedback 옵션은 SELECT * 에서 전체 변수(*)에 해당하는 모든 변수들을 LOG 화면에 출력.; SAS Statements proc sql feedback; select * from SASHELP.CLASS; run; Results (LOG 화면) select CLASS.Name, CLASS.Sex, CLASS.Age, CLASS.Height, CLASS.Weight from SASHELP.CLASS; * PROC CONTENTS 프로시져; SAS Statements PROC CONTENTS DATA=SASHELP.CLASS OUT=BACK POSITION; RUN; Resul.. 2021. 11. 15. [자원관리] 라이브러리에서 임시(TEMP) 데이터 세트 지우기 [자원관리] 라이브러리에서 임시(TEMP) 데이터 세트 지우기 * 임시(TEMP) 데이터 세트 지우기; * SAS는 기본적으로 WORK 라이브러리에 작업 데이터를 저장하기 때문에 종료 전에는 중간 작업 결과 파일에 대하여 많은 디스크 용량을 차지하고 있다.; * 따라서 대용량 데이터 작업 시 디스크 공간 확보를 위해서 TEMP 데이터 세트 삭제 작업을 수행 할 수 있다.; * datasets 프로시져의 DELETE 구문을 프로그램 중간에 실행하여서 SAS 파일을 저장하기 위한 디스크의 공간을 확보할 수 있다.; SAS Program DATA BACK_1; VAR = 1; RUN; DATA BACK_2; VAR = 1; RUN; * 삭제 작업 결과에 대한 출력 제어를 위하여 NOPRINT 옵션을 지정한다... 2021. 11. 4. 문자열 앞에 공백(접두어)을 포함한 문자열을 LOG 및 FILE 출력하기 * 문자열 앞에 공백(접두어)을 포함한 문자열을 LOG 및 FILE 출력하기; * $CHAR 포맷을 사용하면 공백을 포함한 문자열 출력이 가능하다.; * 로그 창 출력하기; SAS Program data _null_; mytitle =" BACK!"; put mytitle; put mytitle $char8.; run; Results (LOG Windows) BACK! BACK! * 텍스트 파일 출력하기; SAS Program data _null_; FILE 'D:\BACK.txt'; mytitle =" BACK!"; put mytitle; put mytitle $char8.; run; Results (BACK.txt 파일) BACK! BACK! 2021. 11. 4. Proc print 출력 결과를 ods를 사용하여서 텍스트 파일로 저장하기 ods를 사용하여서 Proc print 출력 결과를 텍스트 파일로 저장하기 SAS Program filename mytext "C://back.txt"; ods listing file=mytext; proc print data=sashelp.class; run; ods listing close; Results (back.txt 파일 내용) OBS Name Sex Age Height Weight 1 Alfred M 14 69.0 112.5 2 Alice F 13 56.5 84.0 3 Barbara F 13 65.3 98.0 4 Carol F 14 62.8 102.5 5 Henry M 14 63.5 102.5 6 James M 12 57.3 83.0 7 Jane F 12 59.8 84.5 8 Janet F .. 2021. 10. 30. 순열(Permutation)과 조합(Combination) 계산하기 * 순열과 조합 계산하기(Gamma 함수, Lgamama 함수, Perm/Cobm 함수); * n이 큰 경우 gamma 함수는 오버플로우 에러를 발생한다.; SAS Program data back; n=100; r=5; perm1 = gamma(n+1) /gamma(n-r+1); perm2 = exp(lgamma(n+1) -lgamma(n-r+1)); perm3 = perm(n,5); comb1 = gamma(n+1) /gamma(r+1) /gamma(n-r+1); comb2 = exp(lgamma(n+1) -lgamma(r+1) -lgamma(n-r+1)); comb3 = comb(n,r); run; Results OBS n r perm1 perm2 perm3 comb1 comb2 comb3 1 100.. 2021. 10. 30. [변수 리스트] 테이블 변수 위치 기준으로 변수 리스트 출력하기 [변수 리스트] 테이블 변수 위치 기준으로 변수 리스트 출력하기 /* 테이블 변수 위치별로 변수 리스트 출력하기 */ /* PROC CONTENTS 프로시져를 사용하여서 변수 리스트 정보(변수명, 변수타입, 변수길이, 변수 순서, 레이블 정보 등)를 출력 할 수 있다. 다른 방법으로 VIEWS 테이블을 사용하여 변수 리스트를 출력 할 수 있다. */ SAS Program PROC CONTENTS DATA = SASHELP.CLASS OUT = BACK NOPRINT; RUN; PROC SORT DATA=BACK; BY VARNUM; RUN; PROC PRINT DATA=BACK; RUN; Results M I L M E T F F N I I I E M Y L V F O O F N N E C B M L P.. 2021. 10. 30. 【SAS 함수】 474. ZIPSTATE o ZIPSTATE ZIP codes에 해당하는 two-character state postal codes 로변경한다. Category: State and ZIP code 문 법 ZIPSTATE (zip-code) Arguments zip-code 는 숫자, 문자 상수. 관련 구문 함수명 함수 내용 FIPNAME 지정한 인수에 해당하는 미국 주이름을 반환한다. FIPNAMEL 지정한 인수에 해당하는 미국 주이름을 반환한다. FIPSTATE Converts two-digit FIPS codes to two-character state postal codes. STFIPS 주 우편코드를 FIPS주 코드로 전환한다. STNAME 주 우편코드를 해당하는 대문자 주이름으로 전환한다. STNAMEL 주 우편코드를 .. 2021. 10. 18. 【SAS 함수】 472. ZIPNAME o ZIPNAME ZIP codes에 해당하는 대문자 주이름으로 변경한다. Category: State and ZIP code 문 법 ZIPNAME (zip-code) Arguments zip-code 는 숫자, 문자 상수. 관련 구문 함수명 함수 내용 FIPNAME 지정한 인수에 해당하는 미국 주이름을 반환한다. FIPNAMEL 지정한 인수에 해당하는 미국 주이름을 반환한다. FIPSTATE Converts two-digit FIPS codes to two-character state postal codes. STFIPS 주 우편코드를 FIPS주 코드로 전환한다. STNAME 주 우편코드를 해당하는 대문자 주이름으로 전환한다. STNAMEL 주 우편코드를 혼합 주이름으로 전환한다. ZIPCITY ZIP.. 2021. 10. 18. 【SAS 함수】 471. ZIPFIPS o ZIPFIPS ZIP code에 해당하는 two-digit FIPS codes 로변경한다. Category: State and ZIP code 문 법 ZIPFIPS (zip-code) Arguments zip-code 는 숫자, 문자 상수. 관련 구문 함수명 함수 내용 FIPNAME 지정한 인수에 해당하는 미국 주이름을 반환한다. FIPNAMEL 지정한 인수에 해당하는 미국 주이름을 반환한다. FIPSTATE Converts two-digit FIPS codes to two-character state postal codes. STFIPS 주 우편코드를 FIPS주 코드로 전환한다. STNAME 주 우편코드를 해당하는 대문자 주이름으로 전환한다. STNAMEL 주 우편코드를 혼합 주이름으로 전환한다. .. 2021. 10. 18. 【SAS 함수】 470. ZIPCITY o ZIPCITY ZIP code와 상응하는 도시 이름과 두자리 문자 postal code를 반환한다. Category: State and ZIP code 문 법 ZIPCITY (zip-code) Arguments zip-code 는 숫자, 문자 상수. 관련 구문 함수명 함수 내용 FIPNAME 지정한 인수에 해당하는 미국 주이름을 반환한다. FIPNAMEL 지정한 인수에 해당하는 미국 주이름을 반환한다. FIPSTATE Converts two-digit FIPS codes to two-character state postal codes. STFIPS 주 우편코드를 FIPS주 코드로 전환한다. STNAME 주 우편코드를 해당하는 대문자 주이름으로 전환한다. STNAMEL 주 우편코드를 혼합 주이름으로 전.. 2021. 10. 18. 【SAS 함수】 469. YYQ o YYQ 지정한 년도와 분기로부터 분기 초일자를 반환한다. Category: 날짜/시간 (Date and Time) 문 법 YYQ (year,quarter) Arguments year 는 년도 지정. 관련 함수 함수명 함수내용 DATE 현재 날짜를 SAS 날짜 형태로 반환한다. DATEPART DATEPART 함수는 SAS Datetime 데이터 값(날짜/시간)으로부터 날짜 부분을 추출한다. DATETIME DATEPART 함수는 SAS Datetime 데이터 값(날짜/시간)으로부터 날짜 부분을 추출한다. DAY DAY 함수는 SAS 날짜 데이터 값으로부터 일자(day)를 반환한다. DHMS 날짜, 시간, 분, 초 값을 개별적으로 입력하여 SAS DATETIME 값으로 반환한다. HMS 시간,분,초를 .. 2021. 10. 18. 이전 1 ··· 7 8 9 10 11 12 13 ··· 53 다음 반응형