본문 바로가기
SAS/SAS 함수

【SAS 함수】 202. IFC

by 기서무나구물 2021. 10. 2.

포스팅 목차

    o IFC

     


    표현식의 사실, 거짓,missing 인지 여부를 판단하여 해당 문자값 반환한다.

    Category: 문자처리함수(문자함수)

     


    문 법


    IFC
     (logical-expression, value-returned-when-true, value-returned-when-false <,value-returned-when-missing>)

    Arguments

    Required Arguments

         logical-expression

           는 수치형 상수, 변수 또는 표현식을 지정한다.

         value-returned-when-true

           는 logical-expression 인수의 값이 참인 경우 반환되는 문자형 상수, 변수 또는 표현을 지정한다.

         value-returned-when-false

           는 logical-expression 인수의 값이 거짓인 경우 반환되는 문자형 상수, 변수 또는 표현을 지정한다.

    Optional Argument

         value-returned-when-missing

            logical-expression 인수의 값이 결칙측 값인 경우 반환되는 문자형 상수, 변수 또는 표현을 지정한다.

     


    상세 내용

     

    반환되는 변수의 길이

    DATA 단계에서 IFC 함수가 아직 길이가 할당되지 않은 변수에 값을 반환하는 경우, 해당 변수에는 200바이트의 길이가 설정된다.

     

    The Basics

    IFC 함수는 논리 표현식의 값에 따라 여러 값 중에서 선택할 수 있는 조건부 논리 로직을 사용한다.

    IFC는 첫 번째 인수인 logical-expression 을 평가하고, logical-expression 이 참(true)인 경우(0이나 결측치가 아닌 경우) IFC 함수는 두 번째 인수의 값을 반환한다. logical-expression 이 결측치 값이고, 4번째 인수를 지정한 경우 IFC 함수는 4번째 인수의 값을 반환한다. 그 이외의 logical-expression 이 거짓(False)인 경우, IFC 함는 3번째 인수의 값을 반환한다.

    IFC 함수는 DATA 단계의 표현식에서 유용하며, IF/THEN/ELSE 구문을 사용하기 어렵거나 사용할 수 없는 WHERE 절이나 다른 표현식에서 더욱 유용하다.

     


    비교

    IFC 함수는 IFN 함수와 유사하지만, IFC 함수는 문자형 값을 반환하고 IFN 함수는 수치형 값을 반환한다는 점이 다르다.

     


    관련 함수

    함수명 함수내용
    COALESCE 숫자 인수 리스트에서 첫번째 missing이 아닌 값을 반환한다.
    COALESCEC 문자인수 리스트에서 첫번째 non-missing값을 반환한다.
    IFC 표현의 사실,거짓,missing인지 여부를 판단하여 해당 문자값 반환한다.
    IFN 표현이 사실, 거짓, missing인지 여부를 판단하여 해당 숫자값을 반환한다.

     


    예 제

    예 제 1 :

    grade가 80보다 크면 Pass, 작으면 Needs Improvement 값을 반환한다.

    SAS Statements
    data IFC1;
         input name $ grade;
    
         performance = ifc(grade>80, 'Pass ', 'Needs Improvement');
         put name= performance=;
    
    datalines;
    John 74
    Kareem 89
    Kati 100
    Maria 92
    ;
    run;

     

    Results
     name grade   performance
    John    74     Needs Improvement
    Kareem  89     Pass
    Kati   100     Pass
    Maria   92     Pass

     


    예 제 2 :

    if ~then 으로 표현하면 다음과 같다.

    SAS Statements
    data IFC2;
         input name $ grade;
    
         if grade>80 then performance='Pass ';
         else performance = 'Needs Improvement';
         put name= performance=;
    
    datalines;
    John 74
    Sam 89
    Kati 100
    Maria 92
    ;
    run;

     

    Results
     name grade   performance
    John    74     Needs Improvement
    Kareem  89     Pass
    Kati   100     Pass
    Maria   92     Pass

     


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

     

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

     

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

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

    【SAS 함수】 204. INDEX  (0) 2021.10.02
    【SAS 함수】 203. IFN  (0) 2021.10.02
    [SAS 함수] 201. IBESSEL  (0) 2021.10.02
    [SAS 함수] 200. HTMLENCODE  (0) 2021.10.02
    [SAS 함수] 199. HTMLDECODE  (0) 2021.10.02

    댓글