기본 콘텐츠로 건너뛰기

논리 테이블 간의 연결

이 페이지에서

논리 테이블 간의 연결

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

Example:  

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

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

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

Four tables: a list of countries, a list of customers, a list of transactions, and a list of memberships, which are associated with each other through the fields Country and CustomerID.

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는 재로드 후에 항상 모든 차트 표현식을 검사하여 데이터 구조 내 변화로 인해 모호성이 발생했는지 확인합니다. 모호한 표현식이 발견되면 경고 대화 상자가 표시되고 표현식이 비활성화됩니다. 문제가 해결될 때까지 표현식을 활성화할 수 없습니다. 로그 파일이 활성화되면 모든 모호한 표현식은 로그에 나열됩니다.

해결책

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