if then 문을 기반으로 sas에서 SQL 쿼리를 작성하는 방법

핑키 L

나는 SQL에서 if / then 문을 구문 (예를 들어 사례를 사용하든) 및 / 또는 동일한 쿼리에서 변수 서식을 지정하는 방법에 대한 고급 SQL 지식이 없으므로 누군가이 sas 코드를 도울 수 있는지 궁금합니다. sql에 올바른 형식으로 구문을 지정합니다.

data convert_code;

format date1 date 2 mmddyy8. code $4.;

set userid.code; (this table is pulled from oracle)

if ID='X' then P='A'; else P='B';

If CAT in ('1','2','3') then CAT_group='ONE'; else CAT_GROUP='TWO';

if CAT_2 > '0' and CAT_2A >='1' then d=1; else d=0;

date1=datepart(date1);

date2=datepart(date2);

if code='3' and type_code in ('A','B','C') THEN DO;

if P_CODE in ('1','2','3') then P='1';

if P_CODE in ('4','5','6') then P='2';

end;

if code='4' and e_code in ('A') then DO;

if B_CODE in ('11','12','13') then P='3';

if B_CODE in ('14','15','16') then P='4';

end;

run;
SRSwift

여기에 제공된 예는 SAS의 proc sql언어를 사용 합니다. 다른 SQL 구현을 사용하는 경우 구문이 다를 수 있습니다. 그러나 case표현식 예제는 SQL 표준의 일부이므로 모든 SQL 구현에 적용하기가 매우 쉬워야합니다.

proc sql;
    /* Name your output table */
    create table convert_code as
    select
        /* 
            Unlike the data step variables from the input data are not
            selected by default, you can request them individually or
            with "select *" 
        */
        /* Use "format =" after the column definition to set its format */
        code format = $4.,
        /* Use SAS functions as normal, name the output variable with "as" */
        datepart(date1) as date1 format = mmddyy8.,
        /* Comma separate each variable you want in your output */
        datepart(date2) as date2 format = mmddyy8.,
        /* A "case" expression can conditionally set a variable to a value */
        case 
            when CAT in ('1', '2', '3') then 'ONE'
            else 'TWO'
        /* Close the "case" statement with "end" */
        end as CAT_group,
        /* You can nest case statements to emulate your "then do" */
        case 
            when code = '3' and e_code in ('A', 'B', 'C') then 
                case 
                    /* Use multiple "when then"s to emulate "else if" */
                    when P_CODE in ('1', '2', '3') then '1'
                    when P_CODE in ('4', '5', '6') then '2'
                    else ''
                end
            when code = '4' and e_code in ('A') then 
                case 
                    when P_CODE in ('11', '12', '13') then '3'
                    when P_CODE in ('14', '15', '16') then '4'
                    else ''
                end
            when ID = 'X' then 'A'
            else 'B'
        end as P,
        /* An alternative to case is to use the "ifn()" or "ifc()" functions */
        ifn(CAT_2 > 0 and CAT_2A >= 1, 1, 2) as d
    /* Choose the input data and end the query with a ";" */
    from userid.code;
    /* 
        Additional processing can be done here, some examples include:
            "where": limit the input
            "left join", "right join", "inner join", "outer join", ",":
                combine with additional data sets
            "group by": group based on column values for summary functions
            "order by": specify which columns to sort the output by
    */
/* End the "proc sql" processing */
quit;

조건부로 값을 할당하는 표준 SQL 방법이고 다른 SQL 구현에서도 동일 할 것이므로 caseSAS 특정 ifn()ifc()함수 보다는 표현식을 사용 하는 것이 제 제안입니다. 그주의 format =datepart()SAS의 고유 한 기능.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

테이블 값을 기반으로 동적 SQL 쿼리를 작성하는 방법

분류에서Dev

두 검색 값에서 일치하는 항목을 반환하는 SQL 쿼리를 작성하는 방법

분류에서Dev

DB2 데이터베이스에 언급 된 복잡한 조건을 기반으로 SQL 쿼리를 작성하는 방법

분류에서Dev

SQL 쿼리 에서이 작업을 수행하는 방법은이 조건을 기반으로 유사한 행 백분율 일치를 찾으십니까?

분류에서Dev

SQL에서 linq로 (Linq에서 Sql 쿼리를 작성하는 방법)

분류에서Dev

SQL Server에서 SAS의 IF THEN DO 문을 작성하는 방법

분류에서Dev

입력 필드 값을 기반으로 동적으로 SQL 쿼리를 구성하는 방법

분류에서Dev

Hive에서 다중 하위 쿼리로 SQL을 다시 작성하는 방법

분류에서Dev

연도를 기준으로 행을 그룹화하는 SQL 쿼리를 작성하는 방법

분류에서Dev

case 문의 일부로 0 행을 반환 할 수있는 T-SQL 쿼리를 작성하는 방법

분류에서Dev

사용자가 제공 한 입력을 기반으로 SQL 쿼리를 구성하는 방법

분류에서Dev

이 SQL 쿼리를 JPA 쿼리로 작성하는 방법

분류에서Dev

이 SQL 쿼리를 linq 쿼리에 작성하는 방법

분류에서Dev

다른 테이블의 값을 기반으로 백분율을 계산하는 SQL 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

쿼리 CI 구문에서 SQL 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

Mongo에서 날짜 개체에서 시간을 기준으로 문서를 검색하는 검색 쿼리를 작성하는 방법.?

분류에서Dev

DateTime을 찾기 위해 C #으로 SQL 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

이 질문에 대해 SQL에서 내부 조인으로 상관 관계가없는 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

Oracle SQL의 패턴을 기반으로 두 문자열 사이에서 데이터를 추출하는 방법

분류에서Dev

제공된 집합에서 다음 결과를 반환하는 SQL에서 select 문을 작성하는 방법

분류에서Dev

일반 SQL 쿼리를 laravel 5.2 형식으로 작성하는 방법

분류에서Dev

PostgreSQL에서 SQL 쿼리로 WAL 생성 속도를 쿼리하는 방법

분류에서Dev

문서를 반복적으로 검색하고 패턴을 기반으로 결과를 반환하는 스크립트를 작성하는 방법

분류에서Dev

쿼리를 기반으로 Firestore에서 문서를 업데이트하는 방법

분류에서Dev

SQL 쿼리에서 부울 데이터 유형을 기반으로 LIKE 연산자를 사용하는 방법은 무엇입니까?

분류에서Dev

다른 테이블의 값을 기반으로 테이블에서 SQL 쿼리를 수행하는 방법은 무엇입니까?

분류에서Dev

yii2에서 SQL 쿼리를 작성하는 방법

분류에서Dev

SQL Server 2008에서이 쿼리를 작성하는 방법

분류에서Dev

SQL Server에서 검색 쿼리를 작성하는 방법

Related 관련 기사

  1. 1

    테이블 값을 기반으로 동적 SQL 쿼리를 작성하는 방법

  2. 2

    두 검색 값에서 일치하는 항목을 반환하는 SQL 쿼리를 작성하는 방법

  3. 3

    DB2 데이터베이스에 언급 된 복잡한 조건을 기반으로 SQL 쿼리를 작성하는 방법

  4. 4

    SQL 쿼리 에서이 작업을 수행하는 방법은이 조건을 기반으로 유사한 행 백분율 일치를 찾으십니까?

  5. 5

    SQL에서 linq로 (Linq에서 Sql 쿼리를 작성하는 방법)

  6. 6

    SQL Server에서 SAS의 IF THEN DO 문을 작성하는 방법

  7. 7

    입력 필드 값을 기반으로 동적으로 SQL 쿼리를 구성하는 방법

  8. 8

    Hive에서 다중 하위 쿼리로 SQL을 다시 작성하는 방법

  9. 9

    연도를 기준으로 행을 그룹화하는 SQL 쿼리를 작성하는 방법

  10. 10

    case 문의 일부로 0 행을 반환 할 수있는 T-SQL 쿼리를 작성하는 방법

  11. 11

    사용자가 제공 한 입력을 기반으로 SQL 쿼리를 구성하는 방법

  12. 12

    이 SQL 쿼리를 JPA 쿼리로 작성하는 방법

  13. 13

    이 SQL 쿼리를 linq 쿼리에 작성하는 방법

  14. 14

    다른 테이블의 값을 기반으로 백분율을 계산하는 SQL 쿼리를 작성하는 방법은 무엇입니까?

  15. 15

    쿼리 CI 구문에서 SQL 쿼리를 작성하는 방법은 무엇입니까?

  16. 16

    Mongo에서 날짜 개체에서 시간을 기준으로 문서를 검색하는 검색 쿼리를 작성하는 방법.?

  17. 17

    DateTime을 찾기 위해 C #으로 SQL 쿼리를 작성하는 방법은 무엇입니까?

  18. 18

    이 질문에 대해 SQL에서 내부 조인으로 상관 관계가없는 쿼리를 작성하는 방법은 무엇입니까?

  19. 19

    Oracle SQL의 패턴을 기반으로 두 문자열 사이에서 데이터를 추출하는 방법

  20. 20

    제공된 집합에서 다음 결과를 반환하는 SQL에서 select 문을 작성하는 방법

  21. 21

    일반 SQL 쿼리를 laravel 5.2 형식으로 작성하는 방법

  22. 22

    PostgreSQL에서 SQL 쿼리로 WAL 생성 속도를 쿼리하는 방법

  23. 23

    문서를 반복적으로 검색하고 패턴을 기반으로 결과를 반환하는 스크립트를 작성하는 방법

  24. 24

    쿼리를 기반으로 Firestore에서 문서를 업데이트하는 방법

  25. 25

    SQL 쿼리에서 부울 데이터 유형을 기반으로 LIKE 연산자를 사용하는 방법은 무엇입니까?

  26. 26

    다른 테이블의 값을 기반으로 테이블에서 SQL 쿼리를 수행하는 방법은 무엇입니까?

  27. 27

    yii2에서 SQL 쿼리를 작성하는 방법

  28. 28

    SQL Server 2008에서이 쿼리를 작성하는 방법

  29. 29

    SQL Server에서 검색 쿼리를 작성하는 방법

뜨겁다태그

보관