논리 테이블 간의 연결

데이터베이스는 다수의 테이블을 포함할 수 있습니다. 각 테이블은 무언가에 대한 목록으로 간주할 수 있으며, 목록의 각 레코드는 어떤 유형의 개체에 대한 인스턴스를 나타냅니다.

​예:  

두 테이블이 다른 것에 대한 목록(예: 한 테이블은 고객 목록이고 다른 테이블은 송장 목록인 경우)이고 고객 수와 같은 필드를 공통적으로 가지고 있는 경우 이는 일반적으로 두 테이블 간에 관계가 있다는 의미입니다. 표준 SQL 쿼리 도구에서 두 테이블은 거의 항상 조인되어야 합니다.

QlikView 스크립트에서 정의된 테이블을 논리 테이블이라고 합니다. QlikView는 필드 이름에 따라 테이블 간에 연결하며 선택을 수행할 때(예: 목록 상자의 필드 값 선택) 조인을 수행합니다.

이는 연결이 조인과 거의 동일함을 의미합니다. 유일한 차이점은 조인은 스크립트가 실행될 때 수행된다는 점입니다. 논리 테이블은 일반적으로 조인의 결과입니다. 논리 테이블이 생성되면 연결이 완료됩니다. 연결은 항상 논리 테이블 간에 이루어집니다.

4개 테이블: CountryCustomerID 필드를 통해 서로 연결된 국가 목록, 고객 목록, 트랜잭션 목록 및 멤버십 목록

QlikView 연결과 SQL 자연 outer join 비교

QlikView 연결은 SQL 자연 outer join과 비슷합니다. 하지만 연결이 좀 더 일반적입니다. SQLouter join은 보통 한 테이블을 다른 테이블에 단방향으로 투영합니다. 연결은 항상 완전(양방향) 자연 outer join이 됩니다.

연결 필드 내 빈도 정보

대부분의 연결 필드, 즉 두 개 이상의 테이블 간에 공통적인 필드는 사용 시 제한 사항이 있습니다. 둘 이상의 테이블에서 필드가 발생하면 QlikView가 데이터 빈도를 계산할 때 어느 테이블을 사용해야 할지 인식하는 데 문제가 생깁니다.

QlikView는 데이터를 분석하여 계수할 기본 테이블을 모호하지 않게 식별하는 방법이 있는지 확인하지만(있는 경우도 있음) 대부분의 경우 프로그램은 추측만 할 수 있습니다. 잘못된 추측은 치명적인 결과를 야기할 수 있으므로(QlikView에 계산 오류가 나타날 수 있음) 이 프로그램은 연결 필드에 대한 데이터 해석이 모호한 경우 특정 작업을 허용하지 않도록 설계되었습니다.

연결 필드에 대한 제한

  1. 필드를 표시하는 목록 상자에 빈도 정보를 표시할 수 없습니다.
  2. 필드의 통계 상자에는 대부분의 통계 엔터티가 n/a로 표시됩니다.
  3. Distinct 수정자가 활성화되지 않은 경우 차트에서 필드의 빈도 정보에 의존하는 함수(Sum, Count 함수, Average 등)를 포함하는 표현식을 만들 수 없습니다. QlikView는 재로드 후에 항상 모든 차트 표현식을 검사하여 데이터 구조 내 변화로 인해 모호성이 발생했는지 확인합니다. 모호한 표현식이 발견되면 경고 대화 상자가 표시되고 표현식이 비활성화됩니다. 문제가 해결될 때까지 표현식을 활성화할 수 없습니다. 로그 파일이 활성화되면 모든 모호한 표현식은 로그에 나열됩니다.

해결책

이러한 제한에 대처할 간단한 방법이 있습니다. 빈도를 세야 하는 테이블에서 필드를 새 이름으로 로드합니다. 그리고 빈도를 포함한 목록 상자에 대한 새 필드를 차트 내 통계 상자 또는 계산에 사용합니다.