2016-07-12 2 views
0

저는 VS 및 SSIS를 처음 사용합니다.Visual Studio SSIS 스크립트 변환 : 평균 및 개수 얻기

날짜 형식 초

2016년 7월 7일 개인 400

2016/07 : 저는 현재 다음과 같습니다 스크립트 구성 요소 변환 편집기를 사용하여 비주얼 스튜디오에서이 데이터를 통합하기 위해 노력하고있어/07 사업 300

2016년 7월 7일 사업 600

과 같이 그것을 변환 :

날짜를 입력 avgSeconds totalRows

2016년 7월 7일 개인 400 1

2016년 7월 7일 사업 (450)이

기본적으로, 계산 및 종류와 날짜에 대한 평균을 복용. 나는 VB.net과 C# 옵션을 모두 시험해 보았고 둘 중에 하나를 열었다. 아무도 내가 어떻게 할 수있는 아이디어가 있습니까?

저는 VS 2012를 사용하고 있습니다. 저는 Input0_ProcessInputRow를 거치고 그 결과를 끝에 쓰면 모든 것이 유지되도록 임시 테이블이나 버퍼 테이블을 만들어야한다고 생각하고 있습니다. 이것을하는 방법을 알아 내십시오. 어떤 도움을 많이 주시면 감사하겠습니다 !!

+0

실행 SQL 작업보다 스크립트를 사용하려는 이유가 있습니까? 이것은 AVG와 Group By를 사용하는 간단한 쿼리와 같습니다. –

+0

예, 두 개의 서로 다른 장소에서 데이터를 가져와 함께 연결합니다. – tjayne13

+0

병합 된 데이터를 준비 테이블로로드 한 다음 집계 쿼리를 실행하는 방법은 어떻습니까? 절차 적 스크립트를 사용하여 코딩 및 잠재적 인 메모리 문제를 피할 수있는 방법을 생각 중입니다. –

답변

0

의견에 따르면 이것이 효과가있을 수 있습니다. 병합을 할 것입니다 데이터 흐름 작업을 설정

는 준비 테이블에 데이터를 전송 데이터 https://www.simple-talk.com/sql/ssis/ssis-basics-using-the-merge-join-transformation/

을 결합하여 가입 할 수 있습니다. 테이블 드롭 다운 옆에있는 '새로 만들기'를 클릭하면 oledb 대상에 의해 자동으로 생성 될 수 있습니다. 이 패키지를 다시 실행하려면이 준비 테이블에서 삭제하거나이 스테이징 테이블을 자르는 데이터 흐름 작업 전에 execute sql 작업을 추가해야합니다.

집계 쿼리로 sql 실행 작업을 만듭니다. 상황에 따라 삽입물이 작동 할 수 있습니다. 같은 : 또한 경우에 데이터 흐름 작업의 소스로, 위의 쿼리를 뺀 삽입 생산 테이블을 사용할 수

Insert ProductionTable 
Select date, type, AVG(Seconds) avgSeconds, Vount(*) totalRows 
    From StagingTable 
    Group By date, type 

당신은 집계 후 더 변환을 적용해야합니다.

+0

좋습니다. 대단히 감사합니다. Im 시도해보십시오. 스테이징 테이블을 넣기 위해 oledb 데이터베이스를 만들 필요가 있다고 생각합니까? – tjayne13

+0

대상 데이터베이스에 테이블을 만들 수 있기를 바랍니다. 그렇지 않으면 임시 테이블을 사용할 수 있습니다. http://stackoverflow.com/questions/5631010/how-to-create-a-temporary-table-in-ssis-control-flow-task-and-then-use-it-in-dat –

관련 문제