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

에서 다중 테이블 지원Direct Discovery

Direct Discovery에서 ANSI SQL 조인 기능을 사용하여 둘 이상의 테이블 또는 보기를 로드할 수 있습니다. 단일 차트에서 모든 계수는 QlikView의 동일한 논리 테이블에서 파생되어야 하지만 조인 문을 통해 연결된 소스에서 가져온 여러 테이블의 조합일 수 있습니다. 하지만 다른 테이블에서 가져온 차원을 동일한 차트에 사용할 수 있습니다.

예를 들어 Direct Discovery에 로드한 테이블을 Where 절 또는 Join 절을 사용하여 연결할 수 있습니다.

  • Direct Discovery는 대규모 데이터 셋이 포함된 메모리 시나리오의 단일 요소/다중 차원에 배포할 수 있습니다.
  • Direct Discovery는 다음 중 하나의 기준에 부합하는 둘 이상의 테이블과 함께 사용할 수 있습니다.
    • 조인 내 키 필드의 집합 크기가 작습니다.
    • 조인 내 키 필드의 집합 크기가 크며, DirectEnableSubquery가 true로 설정되었고 모든 테이블이 Direct Discovery에 조인되었습니다.

      Direct Discovery와 하위 쿼리 사용

  • Direct Discovery는 모든 테이블이 in Direct Discovery 형식이므로 3NF(제3정규형) 시나리오에 배포하기에는 적합하지 않습니다.

Where 절을 사용하여 Direct Discovery 테이블 연결

이 예제 스크립트에서는 데이터베이스 AW2012에서 데이터를 로드합니다. 공통 ProductSubCategoryID 필드를 사용하여 ProductProductSubcategory 테이블과 Where 절을 연결합니다.

Product_Join: DIRECT QUERY DIMENSION [ProductID], [AW2012].[Production].[Product].[Name] as [Product Name], [AW2012].[Production].[ProductSubcategory].[Name] as [Sub Category Name], Color, [AW2012].[Production].[Product].ProductSubcategoryID as [SubcategoryID] MEASURE [ListPrice] FROM [AW2012].[Production].[Product], [AW2012].[Production].[ProductSubcategory] WHERE [AW2012].[Production].[Product].ProductSubcategoryID = [AW2012].[Production].[ProductSubcategory].ProductSubcategoryID ;

Join On 절을 사용하여 Direct Discovery 테이블 연결

Join On 절을 사용하여 Direct Discovery 테이블을 연결할 수도 있습니다. 이 예제 문에서는 SalesOrderID 필드를 통해 SalesOrderHeaderSalesOrderDetail 테이블에 조인하고, Customer ID 필드를 통해 Customer 테이블을 SalesOrderHeader 테이블에 조인합니다.

이 예에서는 동일한 논리 테이블의 계수를 만들기 때문에 동일한 차트에서 사용할 수 있습니다. 예를 들어 SubTotalOrderQty를 계수로 사용하여 차트를 만들 수 있습니다.

Sales_Order_Header_Join: DIRECT QUERY DIMENSION AW2012.Sales.Customer.CustomerID as CustomerID, AW2012.Sales.SalesOrderHeader.SalesPersonID as SalesPersonID, AW2012.Sales.SalesOrderHeader.SalesOrderID as SalesOrderID, ProductID, AW2012.Sales.Customer.TerritoryID as TerritoryID, OrderDate, NATIVE('month([OrderDate])') as OrderMonth, NATIVE('year([OrderDate])') as OrderYear MEASURE SubTotal, TaxAmt, TotalDue, OrderQty DETAIL DueDate, ShipDate, CreditCardApprovalCode, PersonID, StoreID, AccountNumber, rowguid, ModifiedDate FROM AW2012.Sales.SalesOrderDetail JOIN AW2012.Sales.SalesOrderHeader ON (AW2012.Sales.SalesOrderDetail.SalesOrderID = AW2012.Sales.SalesOrderHeader.SalesOrderID) JOIN AW2012.Sales.Customer ON(AW2012.Sales.Customer.CustomerID = AW2012.Sales.SalesOrderHeader.CustomerID);
정보 메모FROM 절의 별칭으로 테이블을 참조할 수 없으며 전체 테이블 이름을 사용해야 합니다.

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

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

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

Remove banner from view

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