기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

조인에 대한 대안으로 매핑 사용

QlikView에서 Join 접두사는 데이터 모델에서 여러 데이터 테이블을 결합하는 강력한 방법입니다. 한 가지 단점은 결합된 테이블이 커지고 성능 문제를 일으킬 수 있다는 점입니다. 다른 테이블의 단일 값을 조회해야 하는 경우 Join에 대한 대안은 매핑을 사용하는 것입니다. 이렇게 하면 조인에 의해 테이블의 레코드 수가 변경되어 불필요한 데이터가 로드되고 계산 속도가 느려지고 계산 오류가 발생할 가능성을 방지할 수 있습니다.

매핑 테이블은 두 개의 열로 구성되는데, 비교 필드(입력)와 매핑 값 필드(출력)입니다.

이 예에서는 주문 테이블(Orders) 하나가 있으며 고객의 국가를 알아야 하는데, 이 정보는 고객 테이블(Customers)에 저장되어 있습니다.

Orders data table
OrderID OrderDate ShipperID Freight CustomerID
12987 2007-12-01 1 27 3
12988 2007-12-01 1 65 4
12989 2007-12-02 2 32 2
12990 2007-12-03 1 76 3
Customers data table
CustomerID Name Country ...
1 DataSales Spain ...
2 BusinessCorp Italy ...
3 TechCo Germany ...
4 Mobecho France ...

고객의 국가(Country)를 조회하기 위해서는 다음과 같은 매핑 테이블이 필요합니다.

Country mapping table
CustomerID Country
1 Spain
2 Italy
3 Germany
4 France

MapCustomerIDtoCountry라는 이름의 매핑 테이블이 다음과 같이 스크립트에 정의되어 있습니다.

MapCustomerIDtoCountry: Mapping LOAD CustomerID, Country From Customers ;

다음 단계는 주문 테이블을 로드할 때 ApplyMap 함수를 사용하여 매핑을 적용하는 것입니다.

Orders: S *, ApplyMap('MapCustomerIDtoCountry', CustomerID, null()) as Country From Orders ;

ApplyMap 함수의 세 번째 파라메타는 매핑 테이블에서 값을 발견하지 못했을 때 반환할 값(이 경우는 Null())을 정의하는 데 사용됩니다.

결과 테이블은 다음과 같이 표시됩니다.

Result mapping table
OrderID OrderDate ShipperID Freight CustomerID Country
12987 2007-12-01 1 27 3 Germany
12988 2007-12-01 1 65 4 France
12989 2007-12-02 2 32 2 Italy
12990 2007-12-03 1 76 3 Germany

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!

분석 현대화 프로그램에 참여

Remove banner from view

분석 현대화 프로그램으로 귀중한 QlikView 앱을 손상시키지 않고 현대화하십시오. 여기를 클릭 하여 자세한 내용을 참조하거나 다음에 연결하십시오. ampquestions@qlik.com