Early Access: The content on this website is provided for informational purposes only in connection with pre-General Availability Qlik Products.
All content is subject to change and is provided without warranty.
기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

에서 다중 테이블 지원Direct Discovery

Direct Discovery에서 ANSI SQL 조인 기능을 사용하여 둘 이상의 테이블 또는 보기를 로드할 수 있습니다.

단일 차트에서 모든 계수는 Qlik Sense의 동일한 논리 테이블에서 파생되어야 하지만 조인 문을 통해 연결된 소스에서 가져온 여러 테이블의 조합일 수 있습니다. 하지만 다른 테이블에서 가져온 차원을 동일한 차트에 사용할 수 있습니다.

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

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

      자세한 내용은 에서 하위 쿼리 사용하기Direct Discovery을 참조하십시오.

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

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

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

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 필드를 통해 SalesOrderDetail 테이블에 SalesOrderHeader 테이블을 조인하고, Customer ID 필드를 통해 SalesOrderHeader 테이블에 Customer 테이블을 조인합니다.

이 예에서는 동일한 논리 테이블의 계수를 만들기 때문에 동일한 차트에서 사용할 수 있습니다. 예를 들어 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);

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

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