2017-10-17 10 views
0

나는 resultahslalom이라는 테이블을 가지고 있는데, 여기에는 데이터가 Pentaho의 ETL Jobs를 통해 채워진다. ETL을 처음 실행하면 버전 -1이 작성됩니다.Pentaho를 사용하여 계산 버전의 복제를 어떻게 제어해야합니까?

이제 새로운 계산 후에 데이터가 변경되면 버전 2가됩니다.

계산 버전 -2에서만 변경해야하며 result_slalom 테이블에는 2 개 이상의 버전이 있어야합니다. (버전 1 및 버전-2)

그래서 논리는 다음과 같습니다 확인 데이터가

When data exists and existing version is 1, then set the version of new data=2 
--> Insert new dataset 
o When data exists and existing version is 2, then set the version of new data=2 
--> Update existing dataset 
o When no data exists, then set version = 1 
--> Insert new dataset 

어떻게이 논리 내 펜타 공식을해야합니까 O를 테이블에 존재하는지?

현재는 다음과 같습니다

dimension lookup/update
if([VersionInDB]=1;[Calculationversion];[VersionInDB]+1) 

답변

0

가 정확히을하는 단계입니다.

또한 유효 날짜가 있습니다. version2를 만들 때 version1은 지금 종료 날짜를 받고 version2는 시작 날짜를받습니다. date between start-date and end-date을 사용하여 기록 정보를 쉽게 검색 할 수 있습니다. 또한 create/alter tablecreate index을 쓰는 버튼이 하나 있습니다.

다른 멋진 해결책은 테이블에 방아쇠를 당기는 것입니다.

바퀴를 그 방향으로 재발 명하는 것을 잊어 버리십시오. 휠을 발명하기를 좋아하지만 논리를 재개발하면 무한한 수의 테스트와 버그가 발생할 수 있습니다.