2017-11-14 1 views
0

필드가있는 List1 (9000 +/- 레코드) 및 List2 (9500 레코드 +/-) 테이블이 있습니다.Qlikview 업데이트, 주간 목록에서 삭제하지 않고 추가

episodenum (기본 키) ArchiveDate (각 목록에 고유) 데이터 (다중 필드) 목록 1에 존재하지만 존재하지

  • 기록을 유지 나는 매주 테이블을 조인 할

    , List2, 상태 'OffList'로 분류 됨, List1에 따른 데이터

  • 상태 'OnList'로 분류 된 List1 및 List2에있는 레코드, List2 당 데이터,
  • List2에있는 레코드 목록 1 상태 'NewToList', 목록 2에 따라 데이터 (첨부 그림 참조) List1 and List2 and desired result

은 SQL에서 충분히 간단한 문제이지만, 자동은 그 날이 난처한 상황에 빠진 한 Qlikview 부하에서 발생 참여로 분류에서 존재하지.

'OffList'레코드가 유지 될 때 테이블이 시간이 지남에 따라 빌드됨에 따라로드되는 레코드 수를 줄이려면 선택 항목이 아닌 간단한 계산식을 사용하고 전체 레코드 집합이로드되고 결합됩니다.

간단한 방법이 있나요?

답변

0

당신은 너무 친절 예를 제공하고, 나는 동일한 데이터를 사용하여 스크립트와 함께 당신을 떠날 것이다 :

  • 로드 원래 테이블 : 이제

    Data: 
    LOAD * INLINE [ 
        X, Y 
        1, A1 
        2, A2 
        3, A3 
    ]; 
    
    Left Join (Data) 
    LOAD 
        X, 
        Y as NewY; 
    LOAD * INLINE [ 
        X, Y 
        1, B1 
        2, B2 
        4, B4 
    ]; 
    
    Left Join (Data) 
    LOAD 
        X, 
        if(IsNull(NewY), 'OffList', 'OnList') as Status 
    Resident Data; 
    
    DROP FIELD NewY; 
    
    LOAD 
        *, 
        'NewToList' as Status 
    WHERE Not Exists(X); 
    LOAD * INLINE [ 
        X, Y 
        2, B2 
        3, B3 
        4, B3 
    ]; 
    

    단계의 설명에 의해 단계

  • 두 번째 버전의 테이블을 왼쪽 조인과 함께로드하면 기존 조인의 오른쪽에 새 열이 추가됩니다. X는 두 테이블에서 같은 열이되므로 두 번째 테이블의 동일한 레코드가있는 첫 번째 테이블의 동일한 레코드를 연결합니다. Y의 이름을 바꿔야합니다. 그렇지 않으면 테이블을 결합하는 키로도 사용됩니다.
  • 테이블 키를 가져 와서 새로운 왼쪽 결합을 수행하십시오. 이번에는 NewY 열에 보유한 것을 평가하십시오. null이면 새 레코드임을 의미합니다. 그것이 가득 차 있다면, 이미 존재했습니다. 분류의 첫 번째 단계가 완료되었습니다.
  • NewY를 삭제할 수 있습니다. 더 이상 필요하지 않습니다.
  • 테이블의 두 번째 버전을 다시로드하고 이미 존재하지 않는 항목 만로드하십시오 (Exists (X)). 새 항목 만로드하는 경우이 항목의 상태가 NewToList가 될 것이라고 명시 할 수 있습니다.

호프가 도움이되고 이것이 "쉬운"해결책으로 여겨 질 수 있기를 바랍니다.

+0

샘플 데이터를 사용하여 필요한 조인을 명확히하기 위해, 대단히 감사합니다. 그러나 실제 데이터에서 Y는 여러 필드를 나타내며 각각의 이름을 바꾸면 많은 노력이 필요합니다. 다음 스크립트를 사용하여 많은 결과를 얻었습니다. –

+0

왼쪽 조인의 모든 열의 이름을 바꿀 필요는 없습니다. 가장 최근의 테이블에 키 열을 추가하고 추가 열만로드하면 레코드가 null인지 아닌지 테스트 할 수 있습니다. – BrunoMarques

관련 문제