Microsoft Excel 파일에서 데이터를 추출하는 예(DataStage® )
Microsoft Excel 파일에서 데이터를 추출하는 샘플 작업을 빌드할 수 있습니다. 이 예제에서 Sequential File 스테이지는 출력 스테이지로 사용됩니다. 출력을 작성하기 위해 다른 출력 스테이지를 사용할 수 있습니다.
예제의 파일을 가져오려면 IS_install\Clients\Samples\Connectors\UnstructuredData_Samples.zip 파일을 추출하십시오.
예 1: Microsoft Excel 파일의 범위에서 데이터 추출하기
Excel 단계를 사용하여 Microsoft Excel 스프레드시트의 범위에서 데이터를 검색하는 작업을 만듭니다.
이 예에서는 조직에서 근무하는 직원에 대한 세부 정보가 포함된 샘플 Microsoft Excel 파일 Employee1.xls을 사용합니다. 이 샘플 파일에는 세 개의 스프레드시트가 있습니다: Sheet1, Sheet2 및 Sheet3.Sheet1에는 조직의 모든 부서에 속한 직원에 대한 정보가 포함되어 있습니다. Sheet2 및 Sheet3은(는) 공백입니다. 이 예제에서는 B01 부서에서 근무하는 직원의 비즈니스 정보만 추출합니다.
- Excel 파일의 범위에서 데이터를 추출하려면 다음을 수행합니다.
- 하나의 Excel 단계와 하나의 Sequential File 단계가 포함된 작업을 만듭니다.
- Excel 단계를 두 번 클릭합니다.
- 설정 창에서 Microsoft Excel 입력 파일 Employee1.xls의 전체 파일 경로를 지정합니다.
- 범위 옵션 목록에서 전체 데이터 범위 지정를 선택하면 특정 범위의 데이터를 추출할 수 있습니다.
- 에서 범위 표현 필드, 지정Sheet1!A16:K28 .
- 열 머리글 필드에서 데이터 범위의 첫 번째 행를 선택합니다. 데이터 범위의 첫 번째 행을 선택하면 첫 번째 행이 머리글로 간주되고 Excel 단계는 두 번째 행부터 추출을 시작합니다.
- Microsoft Excel 열 E(휴대폰 번호) 및 I(생년월일) 옆의 확인란을 선택 취소합니다.
- 가져오기와 확인를 클릭합니다. 가져오기을 클릭하면 구성 창의 오른쪽 하단에 있는 맵 창이 업데이트됩니다.
- EMP_NO 열의 유형을 정수로 변경한 다음 확인을 클릭합니다. 페이지에서
- Sequential File 스테이지를 두 번 클릭하십시오. 에 속성 페이지에서 출력 파일을 생성할 경로와 파일 이름을 차례로 지정합니다.OutputOfExample1.txt 을 클릭하고 좋아요.
- 작업 저장 이제 작업을 컴파일하고 실행할 수 있습니다.
다음 표에는 다른 부서의 직원 정보가 포함된 Microsoft Excel 입력 파일의 정보가 표시되어 있습니다.
EMP NO. | 이름 | MID INIT | 성 | PHONE NO | HIRE DATE | 작업 | SEX | BIRTH DATE |
---|---|---|---|---|---|---|---|---|
DEPT_A00의 직원 | ||||||||
1,000만 | CHRISTINE | I | HAAS | 3978 | 1/1/1995 | PRES | F | 8/24/1963 |
20 | MICHAEL | L | THOMSON | 3476 | 10/10/2003 | 관리자 | M | 2/2/1976 |
6시간에서 30분 | SALLY | A | KWAN | 4738 | 4/5/2005 | 관리자 | F | 5/11/1971 |
50 | JOHN | B | GEYER | 6789 | 8/17/1979 | 관리자 | M | 9/15/1955 |
DEPT_B01의 직원 | ||||||||
60 | IRVING | F | STERN | 6423 | 9/14/2003 | 관리자 | M | 7/7/1975 |
70 | EVA | D | PULASKI | 7831 | 9/30/2003 | 관리자 | F | 5/26/2003 |
90 | EILEEN | W | HENDERSON | 5498 | 8/15/2000 | 관리자 | F | 5/15/1971 |
100년 | THEODORE | Q | SPENSER | 742 | 6/19/2000 | 관리자 | M | 12/18/1980 |
110 | VINCENZO | G | LUCCHESSI | 3490 | 5/16/1988 | SALESREP | M | 11/5/1958 |
120 | SEAN | O'CONNELL | 2167 | 12/51993 | CLERK | M | 10/18/1972 | |
130 | DELORES | M | QUINTANA | 4578 | 7/28/2001 | ANALYST | F | 9/15/1955 |
140 | HEATHER | A | NICHOLLS | 1793 | 12/15/2006 | ANALYST | F | 1/19/1976 |
150 | BRUCE | ADAMSON | 4510 | 2/12/2002 | DESIGNER | M | 5/17/1972 | |
160 | ELIZABETH | R | PIANKA | 3782 | 10/11/2006 | DESIGNER | F | 4/12/1980 |
1770 | MASATOSHI | J | YOSHIMURA | 2890 | 9/15/1999 | DESIGNER | M | 1/5/1981 |
180 | MARILYN | S | SCOUTTEN | 1682 | 7/7/2003 | DESIGNER | F | 2/21/1978 |
작업이 실행된 후 다음을 열 수 있습니다.OutputOfExample1.txt 결과를 보려면 파일을 사용하세요.
"60","IRVING","F","STERN","2003-09-14","MANAGER ","M","72250","500"
"70","EVA","D","PULASKI","2005-09-30","MANAGER ","F","96170","700"
"90","EILEEN","W","HENDERSON","2000-08-15","MANAGER ","F","89750","600"
"100","THEODORE","Q","SPENSER","2000-06-19","MANAGER ","M","86150","500"
"110","VINCENZO","G","LUCCHESSI","1988-05-16","SALESREP","M","66500","900"
"120","SEAN"," ","O'CONNELL","1993-12-05","CLERK ","M","49250","600"
"130","DELORES","M","QUINTANA","2001-07-28","ANALYST ","F","73800","500"
"140","HEATHER","A","NICHOLLS","2006-12-15","ANALYST ","F","68420","600"
"150","BRUCE"," ","ADAMSON","2002-02-12","DESIGNER","M","55280","500"
"160","ELIZABETH","R","PIANKA","2006-10-11","DESIGNER","F","62250","400"
"170","MASATOSHI","J","YOSHIMURA","1999-09-15","DESIGNER","M","44680","500"
"180","MARILYN","S","SCOUTTEN","2003-07-07","DESIGNER","F","51340","500"
예제 2: 여러 Microsoft Excel 시트에서 데이터 추출
이 예제에서는 샘플 Microsoft Excel 파일 Employee2.xls을 사용합니다. 이 샘플 파일에는 다음 시트가 있습니다(DEPT A00, DEPT B01, DEPT C01 및 DEPT D01). 각 시트에는 부서의 직원에 대한 정보가 포함되어 있습니다.
각 시트의 데이터 구조는 유사합니다. 각 시트에는 EMP NO, FIRST NAME, MID INIT, LAST NAME, PHONE NO, HIRE DATE, JOB 및 ADDRESS 열이 있으며, 세 번째 행은 헤더입니다. 그러나 각 시트의 행 수는 다릅니다.
- 여러 파일에서 데이터를 추출하려면:
- 설정 창에서 Microsoft Excel 입력 파일 Employee2.xls의 전체 파일 경로를 지정합니다.
- 범위 옵션에서 시작 행 지정을 선택하십시오.
- 범위 표현식 필드에 A3:H3를 지정하십시오. 스테이지가 첫 번째 행 지정 옵션으로 실행되고 범위 식에 특정 시트 이름이 지정되지 않은 경우 작업은 런타임에 마지막 행을 찾아서 마지막 행까지 행을 추출합니다.
- 열 머리글에서 데이터 범위의 첫 번째 행을 선택합니다.
- 에 재산 탭에서 속성 옆의 확인란을 선택하여 속성 값을 추출합니다. 이 예제에서는 Sheetname을 특성으로 선택하십시오.
- 가져오기를 클릭하십시오. 스테이지에서 열 매핑을 생성합니다.
- 만들기 위해서는 SheetNname 열 목록의 첫 번째 열에서 SheetName 열을 클릭하고 위로 까지 SheetName 열은 목록의 첫 번째 열입니다.
- 매핑 테이블에서 하이퍼링크가 포함된 입력 파일의 ADDRESS 열에 대한 행을 삽입합니다.
- 딸깍 하는 소리 끼워 넣다
- Excel 항목 옵션에서 열 주소를 선택하십시오.
- 새 행의 가져오기 옵션 셀에서 하이퍼링크 주소를 선택합니다.
- 새 행에 DataStage 열 이름 EMAIL_ADDRESS를 지정하십시오. 그런 다음 확인를 클릭합니다.
- 데이터 유형 또는 기타 속성을 변경하려면 탭을 클릭합니다.
- EMP_NO 열의 유형을 정수로 변경하십시오. 확인을 누르십시오.
- 특성 페이지에서 출력 파일을 작성할 경로를 지정한 후 파일 이름 OutputOfExample2.txt을(를) 지정하십시오. 확인을 누르십시오.
- 작업 저장 이제 작업을 컴파일하고 실행할 수 있습니다.
각 부서의 직원 정보가 여러 시트에 포함된 Microsoft Excel 파일을 입력하는 예제입니다. 모든 시트에서 직원 데이터의 작업 추출은 다음 표의 형태로 표시됩니다:
EMP NO. | 이름 | MID INIT | 성 | PHONE NO | HIRE DATE | 작업 | SEX | BIRTH DATE |
---|---|---|---|---|---|---|---|---|
1,000만 | CHRISTINE | I | HAAS | 3978 | 1/1/1995 | PRES | F | 8/24/1963 |
20 | MICHAEL | L | THOMSON | 3476 | 10/10/2003 | 관리자 | M | 2/2/1976 |
6시간에서 30분 | SALLY | A | KWAN | 4738 | 4/5/2005 | 관리자 | F | 5/11/1971 |
50 | JOHN | B | GEYER | 6789 | 8/17/1979 | 관리자 | M | 9/15/1955 |
EMP NO. | 이름 | MIDI NIT | 성 | PHONE NO | HIRE DATE | 작업 | SEX | BIRTH DATE |
---|---|---|---|---|---|---|---|---|
60 | IRVING | F | STERN | 6423 | 9/14/2003 | 관리자 | M | 7/7/1975 |
70 | EVA | D | PULASKI | 7831 | 9/30/2003 | 관리자 | F | 5/26/2003 |
90 | EILEEN | W | HENDERSON | 5498 | 8/15/2000 | 관리자 | F | 5/15/1971 |
100년 | THEODORE | Q | SPENSER | 742 | 6/19/2000 | 관리자 | M | 12/18/1980 |
110 | VINCENZO | G | LUCCHESSI | 3490 | 5/16/1988 | SALESREP | M | 11/5/1958 |
120 | SEAN | O'CONNELL | 2167 | 12/51993 | CLERK | M | 10/18/1972 | |
130 | DELORES | M | QUINTANA | 4578 | 7/28/2001 | ANALYST | F | 9/15/1955 |
140 | HEATHER | A | NICHOLLS | 1793 | 12/15/2006 | ANALYST | F | 1/19/1976 |
150 | BRUCE | ADAMSON | 4510 | 2/12/2002 | DESIGNER | M | 5/17/1972 | |
160 | ELIZABETH | R | PIANKA | 3782 | 10/11/2006 | DESIGNER | F | 4/12/1980 |
1770 | MASATOSHI | J | YOSHIMURA | 2890 | 9/15/1999 | DESIGNER | M | 1/5/1981 |
180 | MARILYN | S | SCOUTTEN | 1682 | 7/7/2003 | DESIGNER | F | 2/21/1978 |
작업이 실행되면 다음 결과가 포함된 OutputOfExample2.txt 파일을 열 수 있습니다.
"DEPT A00","10","CHRISTINE","I","HAAS","3978","1995-01-01","PRES ","CHRISTINE HAAS","mailto:CHRISTINE%[email protected]"
"DEPT A00","20","MICHAEL","L","THOMPSON","3476","2003-10-10","MANAGER ","MICHAEL THOMPSON","mailto:MICHAEL%[email protected]"
"DEPT A00","30","SALLY","A","KWAN","4738","2005-04-05","MANAGER ","SALLY KWAN","mailto:SALLY%[email protected]"
"DEPT A00","50","JOHN","B","GEYER","6789","1979-08-17","MANAGER ","JOHN GEYER","mailto:JOHN%[email protected]"
"DEPT B01","60","IRVING","F","STERN","6423","2003-09-14","MANAGER ","IRVING STERN","mailto:IRVING%[email protected]"
"DEPT B01","70","EVA","D","PULASKI","7831","2005-09-30","MANAGER ","EVA PULASKI","mailto:EVA%[email protected]"
"DEPT B01","90","EILEEN","W","HENDERSON","5498","2000-08-15","MANAGER ","EILEEN HENDERSON","mailto:EILEEN%[email protected]"
"DEPT B01","100","THEODORE","Q","SPENSER","972","2000-06-19","MANAGER ","THEODORE SPENSER","mailto:THEODORE%[email protected]"
"DEPT B01","110","VINCENZO","G","LUCCHESSI","3490","1988-05-16","SALESREP","VINCENZO LUCCHESSI","mailto:VINCENZO%[email protected]"
"DEPT B01","120","SEAN"," ","O'CONNELL","2167","1993-12-05","CLERK ","SEAN O'CONNELL","mailto:SEAN%20O'[email protected]"
"DEPT B01","130","DELORES","M","QUINTANA","4578","2001-07-28","ANALYST ","DELORES QUINTANA","mailto:DELORES%[email protected]"
"DEPT B01","140","HEATHER","A","NICHOLLS","1793","2006-12-15","ANALYST ","HEATHER NICHOLLS","mailto:HEATHER%[email protected]"
"DEPT B01","150","BRUCE"," ","ADAMSON","4510","2002-02-12","DESIGNER","BRUCE ADAMSON","mailto:BRUCE%[email protected]"
"DEPT B01","160","ELIZABETH","R","PIANKA","3782","2006-10-11","DESIGNER","ELIZABETH PIANKA","mailto:ELIZABETH%[email protected]"
"DEPT B01","170","MASATOSHI","J","YOSHIMURA","2890","1999-09-15","DESIGNER","MASATOSHI YOSHIMURA","mailto:MASATOSHI%[email protected]"
"DEPT B01","180","MARILYN","S","SCOUTTEN","1682","2003-07-07","DESIGNER","MARILYN SCOUTTEN","mailto:MARILYN%[email protected]"
"DEPT C01","190","JAMES","H","WALKER","2986","2004-07-26","DESIGNER","JAMES WALKER","mailto:JAMES%[email protected]"
"DEPT C01","200","DAVID"," ","BROWN","4501","2002-03-03","DESIGNER","DAVID BROWN","mailto:DAVID%[email protected]"
"DEPT C01","210","WILLIAM","T","JONES","942","1998-04-11","DESIGNER","WILLIAM JONES","mailto:WILLIAM%[email protected]"
"DEPT C01","220","JENNIFER","K","LUTZ","672","1998-08-29","DESIGNER","JENNIFER LUTZ","mailto:JENNIFER%[email protected]"
"DEPT C01","230","JAMES","J","JEFFERSON","2094","1996-11-21","CLERK ","JAMES JEFFERSON","mailto:JAMES%[email protected]"
"DEPT C01","240","SALVATORE","M","MARINO","3780","2004-12-05","CLERK ","SALVATORE MARINO","mailto:SALVATORE%[email protected]"
"DEPT C01","250","DANIEL","S","SMITH","961","1999-10-30","CLERK ","DANIEL SMITH","mailto:DANIEL%[email protected]"
"DEPT C01","260","SYBIL","P","JOHNSON","8953","2005-09-11","CLERK ","SYBIL JOHNSON","mailto:SYBIL%[email protected]"
"DEPT D01","270","MARIA","L","PEREZ","9001","2006-09-30","CLERK ","MARIA PEREZ","mailto:MARIA%[email protected]"
"DEPT D01","280","ETHEL","R","SCHNEIDER","8997","1997-03-24","OPERATOR","ETHEL SCHNEIDER","mailto:ETHEL%[email protected]"
"DEPT D01","290","JOHN","R","PARKER","4502","2006-05-30","OPERATOR","JOHN PARKER","mailto:JOHN%[email protected]"
"DEPT D01","300","PHILIP","X","SMITH","2095","2002-06-19","OPERATOR","PHILIP SMITH","mailto:PHILIP%[email protected]"
"DEPT D01","310","MAUDE","F","SETRIGHT","3332","1994-09-12","OPERATOR","MAUDE SETRIGHT","mailto:MAUDE%[email protected]"
"DEPT D01","320","RAMLAL","V","MEHTA","9990","1995-07-07","FIELDREP","RAMLAL MEHTA","mailto:RAMLAL%[email protected]"
"DEPT D01","330","WING"," ","LEE","2103","2006-02-23","FIELDREP","WING LEE","mailto:WING%[email protected]"
"DEPT D01","340","JASON","R","GOUNOT","5698","1977-05-05","FIELDREP","JASON GOUNOT","mailto:JASON%[email protected]"
예제 3: Microsoft Excel 파일에서 서로 다른 데이터 구조를 갖는 여러 범위의 데이터 추출
이 예제에서는 샘플 Microsoft Excel 파일 Employee3.xls을 사용합니다. 이 샘플 파일에는 데이터 구조가 서로 다른 두 개의 스프레드시트 Departments 및 Employees가 있습니다.
이 예제에서 Excel 스테이지에는 두 개의 출력 링크가 있습니다. Departments 시트에서 첫 번째 링크로 데이터를 추출하고 Employees 시트에서 두 번째 링크로 데이터를 추출합니다.
- 다양한 데이터 구조를 추출하려면:
- 하나의 Excel 단계와 두 개의 Sequential File 단계가 포함된 작업을 만듭니다. 링크 이름을 부서 및 직원으로 바꿀 수 있습니다.
- Excel 단계를 두 번 클릭합니다. 설정 창에서 Microsoft Excel 입력 파일 Employee3.xls의 전체 파일 경로를 지정합니다.
- Departments 스프레드시트에서 추출할 데이터를 지정하고 다음 하위 단계를 완료하여 열 매핑을 생성합니다.
- 로부터 링크 목록 상자, 선택 부서.
- 로부터 범위 옵션 목록, 선택 전체 범위 지정.
- 범위 표현식 필드에서 부서를 지정하십시오!A2:C6 .
- 열 머리글에서 데이터 범위의 첫 번째 행를 선택합니다.
- 가져오기를 클릭한 후 확인을 클릭하십시오.
- 직원 스프레드시트에서 추출할 데이터를 지정하고 아래 하위 단계를 완료하여 열 맵핑을 생성하십시오.
- 링크 목록 상자에서 직원을 선택하십시오.
- 로부터 범위 옵션 목록, 전체 범위 지정.
- 범위 표현식 필드에서 직원을 지정하십시오!A2:L34.
- 열 헤더에서 데이터 범위의 첫 번째 행을 선택하십시오.
- 가져오기를 클릭한 후 확인을 클릭하십시오.
- 출력 페이지에서 출력 이름으로 직원 링크를 선택하십시오.
- 열 페이지에서 EMP_NO 열의 데이터 유형을 정수로 변경한 다음 확인를 클릭합니다.
- 첫 번째를 두 번 클릭하세요. Sequential File 단계Output_1 출력 파일을 생성할 경로와 파일 이름을 차례로 지정합니다.OutputOfExample3_1.txt .
- 두 번째 Sequential File 단계 Output_2를 더블 클릭하고 출력 파일을 생성할 경로와 파일 이름 OutputOfExample3_2.txt을 지정합니다
- 작업 저장 이제 작업을 컴파일하고 실행할 수 있습니다.
예제 입력 Microsoft Excel 파일 Employee3.xls에는 부서 시트에 부서 정보가, 직원 시트에 직원 정보가 들어 있습니다. 이 작업은 부서 데이터를 OutputOfExample3_1.txt 파일로 추출하고 직원 데이터를 OutputOfExample3_2.txt(으)로 추출합니다.
작업이 실행된 후 OutputOfExample3_1.txt 파일 및 OutputOfExample3_2.txt 파일을 여십시오. OutputOfExample3_1.txt 파일은 부서 시트와 일치해야 하며 OutputOfExample3_2.txt 파일은 Employee.xls 파일의 직원 시트와 일치해야 합니다.