가져 오기 당신이 원하는 그러나 데이터 다음 어디 옵션을 사용하면 열 "이름이"비어 있지 않은 곳이,이 예제에서는 사용자가 행을 유지합니다 유지하려는 행을 선택할 수 있습니다 절차, Stig Eide 언급했다.
proc import
datafile = 'C:\...\file.xlsx'
dbms = xlsx
out = xldata
replace;
mixed = YES;
getnames = YES;
run;
설명 :
- DBMS에 = 옵션은 SAS 데이터를 읽으려고 시도하는 방법을 지정합니다. 파일이 Excel 2007 이상의 파일 (예 : xlsx) 인 경우 여기에 표시된대로 DBMS = XLSX를 사용할 수 있습니다. 파일이 오래된 경우 (예 : xlsx가 아닌 xls이면 DBMS = EXCEL을 시도하십시오.
- OUT = 옵션은 출력 데이터 집합의 이름을 지정합니다.
- 단일 레벨 이름이 지정되면 데이터 세트가 WORK 라이브러리에 기록됩니다. SAS 세션마다 고유 한 임시 라이브러리입니다. 세션이 끝나면 삭제됩니다.
- 영구 데이터 세트를 작성하려면 mylib.xldata와 같은 두 개의 레벨 이름을 지정하십시오. 여기서 mylib는 LIBNAME 문으로 작성된 SAS 라이브러리 참조 (libref)를 나타냅니다.
- REPLACE는이 단계를 처음 실행할 때 생성 된 데이터 집합을 대체합니다.
- MIXED = YES는 SAS에 데이터가 혼합 유형일 수 있음을 알립니다.
- GETNAMES = YES는 Excel의 열 이름을 기반으로 SAS 데이터 집합 변수의 이름을 지정합니다. 내가 제대로 이해하면
, 당신은 일곱 열 중에서 누락 된 값을 갖는 데이터 세트에서 모든 관찰을 제거 할. 이이 작업을 수행하는 애호가 가지 방법이 있습니다,하지만 난이 같은 간단한 방법을 사용하는 것이 좋습니다
data xldata;
set xldata;
where cmiss(col1, col2, ..., col7) = 0;
run;
CMISS 기능에 관계없이 데이터 유형, 각 관찰에서 지정한 변수 누락 된 값의 수를 계산합니다. 우리가 WHERE CMISS() = 0을 사용하고 있기 때문에, 결과 데이터 집합은 7 개의 열에 대해 누락 된 데이터가없는 레코드 만 포함하게됩니다.
의심 스럽다면 SAS online documentation을 찾아보십시오. 매우 철저합니다.
'IMPORT'은 대화식 프로 시저가 아니기 때문에 단계는 'QUIT' 대신'RUN '으로 종료되어야합니다. –