가상 키

두 개 이상의 데이터 테이블에 두 개 이상의 공통적인 필드가 있는 경우 이는 복합 키 관계를 나타냅니다. Qlik Sense에서는 가상 키를 만들어 자동으로 이를 처리합니다. 이 키는 복합 키에서 발생하는 모든 조합을 나타내는 익명 필드입니다.

데이터를 로드할 때 가상 키에 대한 경로를 받는 경우, 데이터 모델 뷰어에서 데이터 구조를 검토하는 것이 좋습니다. 데이터 모델이 정확한지 여부를 확인해 보아야 합니다. 때때로 스크립트에서 오류로 가상 키가 생기는 경우가 있습니다.

복수의 가상 키는 종종 잘못된 데이터 모델의 증상을 보이지만 반드시 그런 것은 아닙니다. 그러나 잘못된 데이터 모델의 확실한 증거는 다른 가상 키에 기반한 가상 키를 갖는 경우입니다.

경고: 가상 키 개수가 증가하면 데이터 양, 테이블 구조 및 기타 요소에 따라 Qlik Sense는 이들을 원활하게 처리할 수도, 하지 않을 수도 있으며, 결국 시간 및/또는 메모리를 초과하여 사용하게 될 수 있습니다. 그런 경우 모든 가상 키를 제거하여 스크립트를 다시 작성해야 합니다.
가상 키 $Syn 1과 관련된 세 개의 테이블

Three tables associated with a synthetic key.

가상 키 처리

가상 키를 피해야 하는 경우 데이터 로드 스크립트에서 이를 해결하는 여러 가지 방법이 있습니다.

  • 두 테이블을 논리적으로 연결하는 필드만 키로 사용하고 있는지 확인하십시오.

    • "Comment", "Remark" 및 "Description" 등의 필드는 관련성 없이 여러 테이블에 존재할 수 있으므로 키로 사용하지 않도록 해야 합니다.
    • "Date", "Company" 및 "Name" 등의 필드는 여러 테이블에 존재하며 동일한 값을 가질 수 있지만 여전히 여러 가지 역할을 가질 수 있습니다(주문 날짜/배송 날짜, 고객 회사/공급업체). 이런 경우에도 키로 사용하지 않아야 합니다.
  • 중복 필드를 사용하지 않도록 해야 합니다. 즉, 필요한 필드만 연결합니다. 예를 들어 날짜가 키로 사용된 경우 둘 이상의 내부 테이블에서 동일한 날짜의 year, month 또는 day_of_month를 로드하지 않도록 하십시오.

  • 필요한 경우 일반적으로 AutoNumber 스크립트 함수 내에서 문자열 연결을 사용하여 사용자 지정 비복합 키를 형성합니다.