본문 바로가기
SAS/SAS 함수

【SAS 함수】 175. FOPEN

by 기서무나구물 2021. 9. 29.

포스팅 목차

    o FOPEN

     


    외부파일을 연다.

    Category: 외부 파일 접근 및 처리 함수 (External Files)

    문 법


    FNOTE
     (fileref<,open-mode<,record-length<,record-format>>>)

    Arguments

         file-id

                           는 FOPEN함수에 의해 반환된 인식자.

         open-mode*

                           O,S모드는 서버와 클라이언트의 관계를 참조하시기를 바랍니다.


          -  Using Unnamed and Named Pipes under Windows :

    Open-mode 설명
    A 현재 파일의 끝에 새로운 레코드를 기록가능한 모드.
    I 입력 모드로 오픈한다.(기본)
    O 출력 모드로 오픈한다.
    S 순차적 입력모드로 오픈한다.
    U 읽기와 쓰기모두 가능한 업데이트 모드로 오픈한다.

     

    • record-format
    record-format 설명
    B 데이터는 이항 데이터로써 해석된다
    D 디폴트 레크드 포맷을 이용한다.
    E 편집 가능한 레코드 포맷을 이용한다.
    F 파일은 고정된 length 레코드를 포함한다.
    P 파일은 호스트에 의존하는 레코드 포맷에서 프린터 캐리지 제어를 포함한다.
    V 파일은 변수 length 레코드를 포함한다.

     


    관련 함수

    함수명 함수내용
    DCLOSE
    DOPEN 함수에 의해 열었던 디렉토리를 닫는다.
    DOPEN 디렉토리 OPEN하여서 0보다 큰 directory identifier value을 반환한다.
    FCLOSE
    외부파일, 디렉토리, 디렉토리 멤버를 닫는다.
    FETCH SAS 데이터 세트로부터 현재 관측치 다음의 관측치를 데이터 세트 데이터 벡터(DDV) 안으로 관측치를 읽는다.
    FETCHOBS SAS 데이터 세트로부터 지정한 관측치를 데이터 SET 데이터 벡터(DDV)로 읽는다.
    FGET
    파일 데이터 벡터(FDB)로부터 변수에 데이터를 복사한다.
    FILENAME SAS 파일 참조자(fileref)를 외부 파일 또는 출력 장치와 연결한다. 이와 반대로 파일 참조자(Fileref)와 외부 파일의 관계를 해제할 수 있으며, 외부 파일 속성을 출력할 수 있다. 
    FILEREF
    현재 SAS섹션에 fileref이 할당되었는지 확인한다.
    FOPEN
    외부파일을 연다.
    FPOS
    파일 데이터 버퍼(FDB)에서 칼럼 포인터의 위치를 설정한다.
    FREAD 외부파일에서 FDB로 레코드를 읽는다.
    FREWIND
    파일의 시작에 파일 포인터를 배치하고 값을 반환한다.
    FSEP
    FGET함수를 위한 구분자를 설정한다.
    MOPEN
    디렉토리 아이디와 멤버 이름에 의해 파일을 연다.
    NOTE
    SAS 데이터 세트의 현재 관측치에 대한 관측치 아이디를 반환한다.
    OPEN SAS 데이터 세트를 OPEN하고, 데이터 세트 ID를 반환한다.
    POINT NOTE함수에 의해 확인된 위치에 관측치를 이동시키고, 값을 반환한다.
    SYSMSG 마지막 데이터 세트나 외부 파일 함수 실행으로부터 에러메시지나 경고 메시지 반환한다.

     


    예 제

    back.txt를 읽기모드로 읽은후에 첫 번째 관측치를 반환한다.

    SAS Statements
    FILENAME back "c:\back.txt";
    data _null_;
         file back;
         put "record1"; put "record2";
         put "record3"; put "record4";
         put "record5";
    run;

     

    SAS Statements
    data FOPEN;
         rc=filename( 'thefile','c:\back.txt');
         fileid=fopen('thefile');
         if (fileid>0) then do;
            rc=fread(fileid);
            thestring=' ';
            * 첫번째 관측치를 반환;
            rc = fget(fileid,thestring);
            rc = fclose(fileid);
         end;
         else do;
            _msg_=sysmsg();
            return;
         end;
         rc=filename('thefile','');
    run;

     

    Results
       thestring
         record1

     


    SAS 함수(SAS Function) 리스트 링크

     

    엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크

     

    SAS 데이터 스텝 구문 리스트(SAS Data Step Statement)
    반응형

    'SAS > SAS 함수' 카테고리의 다른 글

    [SAS 함수] 177. FOPTNUM  (0) 2021.09.30
    [SAS 함수] 176. FOPTNAME  (0) 2021.09.30
    [SAS 함수] 174. FNOTE  (0) 2021.09.29
    [SAS 함수] 173. FNONCT  (0) 2021.09.29
    【SAS 함수】 172. FLOORZ  (0) 2021.09.29

    댓글