SAS Enterprise Guide로 데이터를 가져 오려고 시도했습니다. 이 파일은 원래 Mac에서 Excel 문서를 저장하여 생성 된 csv입니다. Date, DayOfYear 및 MonthOfYear의 세 열이 있습니다.SAS CSV 가져 오기가 정크 데이터 열을 추가합니다.
내 수입 코드는 다음과 같습니다
DATA indata;
INFILE '/sasdata/{path_to_file}' TERMSTR=cr DSD DLM=',';
INPUT Date YYMMDD10. DayOfYear MonthOfYear;
FORMAT Date YYMMDD10.;
RUN;
문제는 날짜 열이 하나의 열을 기준으로 이상 이동 후이 모든 것을 초래한다는 것이다. 예 출력 :
Date | DOY | MOY
2017-01-01 | | 1
2017-01-02 | | 2
2017-01-03 | | 3
내 해키 솔루션은 모든 빈 값을 얻을 수있는 정크라는 여분의 열을 추가했습니다,하지만 난 가능하면 진짜이 문제를 해결하고 싶습니다. 아래의 해킹.
DATA indata;
INFILE '/sasdata/{path_to_file}' TERMSTR=cr DSD DLM=',';
INPUT Date YYMMDD10. junk DayOfYear MonthOfYear;
FORMAT Date YYMMDD10.;
RUN;
Date | junk | DOY | MOY
2017-01-01 | | 1 | 1
2017-01-02 | | 2 | 1
2017-01-03 | | 3 | 1
줄 바꿈과 캐리지 리턴으로 아무렇지도 않게 시도했습니다. 나는 DSD와 DLM을 둘 다 넣었지만 아무 것도 바뀌지 않았다. 그것은 날짜 자체의 열에 끝나는 여분의 보이지 않는 문자가 끝나는 것처럼 보이지만 16 진수 편집기에서 데이터를 볼 때 거기에 아무것도. 예 :
ef bb bf 32-30 31 37 2d-30 31 2d 30-31 2c 31 ...
2017-01-01에서 쉼표로 1로 곧바로 이동하므로 숨겨진 문자가 없습니다. 나는 이것이 어떻게 다른 일이 일어날 지 모른다. 이것은 제가이 문제를 가지고있는 두 번째 파일입니다. 그래서 그것은 단지 하나의 것이 아니라는 것을 압니다.
제 질문을 요약하면 어떻게 날짜 열거 형 후에 단지 여분의 열을 만들지 않습니까?
생각해 보았지만,'INPUT Date : YYMMDD10.'과 같이 형식화 된 입력을 적용하기 위해 콜론 (:)을 사용하면 어떨까요? –
@Allan Bowe 고쳐 주셨습니다. 자유롭게 답변을 추가하면 받아 들일 것입니다. –