2017-03-27 3 views
0

저는 SAS에 처음 왔고 새로운 일에 사용해야한다는 것을 알았습니다. 이것이 기본적인 질문입니다. - 쉼표로 구분 - 첫 번째 행에있는 회사에서 직원의SAS : 데이터 그룹을 자체 행으로 분할

COMPANY | Employee 
--------|---------- 
COMP1 | @,@,@,@ 
COMP2 | @ 
COMP3 | @,@ 
... 

모든 @ 이메일 adress은 다음과 같습니다

내가 이렇게 보이는 테이블이 있습니다. 이제 데이터 단계를 사용하여 모든 이메일에 고유 한 행을 제공하려고합니다. 각각 첫 번째 행에 해당 회사 이름이 있습니다. 이와 같이 :

COMPANY | Employee 
--------|---------- 
COMP1 | @ 
COMP1 | @ 
COMP1 | @ 
COMP1 | @ 
COMP2 | @ 
COMP2 | @ 
... 

나는 이것이 계속되기를 희망한다.

는 월

답변

1

코드 아래 문제를 해결해야한다 사전에 감사합니다. 전자 메일을 저장하는 데 50 개의 기호를 사용 했으므로 두 번째 데이터 단계에서 길이가 긴 전자 메일이 길어질 수도 있다고 생각되면 유의하십시오. 첫 번째 데이터 단계는 테스트를 위해 사용한 예입니다.

data tmp1; 
    length COMP EMAIL $50.; 

    comp="CMP1"; 
    email="[email protected], [email protected], [email protected]"; 
    output; 

    comp="CMP2"; 
    email="[email protected], [email protected]"; 
    output; 
run; 

data tmp2; 
    set tmp1; 
    i=1; 
    length new_email $50; 

    do while(scan(email, i, ",") ne ""); 
     new_email = strip(scan(email, i, ",")); 
     i+1; 
     output; 
    end; 
    drop email i; 
run; 
관련 문제