Direct Discovery içinde çoklu tablo desteği

Direct Discovery özelliğini birden fazla tablo yüklemek ya da ANSI SQL join fonksiyonunu kullanarak görüntülemek için kullanabilirsiniz. Tek bir grafikte, tüm ölçümler Qlik Sense içerisindeki aynı mantıksal tablodan türetilmelidir; ancak bu, join deyimleri üzerinden kaynakta birbirine bağlı, çok sayıda tablonun bir kombinasyonu olabilir. Ancak, aynı grafikteki diğer tablolardan alınmış boyutları kullanabilirsiniz.

Örneğin, Direct Discovery ile yüklenen tabloları Where cümlesi ya da bir Join cümlesi kullanarak birbirine bağlayabilirsiniz.

  • Direct Discovery, büyük veri kümeleri bulunan bellek senaryosunda tek bir olguda/birden fazla boyutta dağıtılabilir.
  • Direct Discovery, aşağıdaki ölçütlerden herhangi biriyle eşleşen birden fazla tabloyla kullanılabilir.
    • join içindeki anahtar alanın niceliği düşüktür.
    • join içindeki anahtar alanın niceliği yüksektir, DirectEnableSubquery true olarak ayarlanmış ve tüm tablolar Direct Discovery ile birleştirilmiştir.

      Daha fazla bilgi için bkz. Direct Discovery ile alt sorgular kullanma.

  • Direct Discovery, tüm tabloların Direct Discovery biçiminde olduğu Üçüncü Normal Form senaryosunda dağıtım için uygun değildir.

Direct Discovery tablolarının bir Where cümlesiyle bağlanması

Bu örnek kodda, AW2012 veritabanından verileri yüklüyoruz. Product ve ProductSubcategory tabloları ProductSubCategoryID ortak alanını kullanarak bir Where cümlesiyle birbirine bağlanır.

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 ;

Direct Discovery tablolarının Join On cümleleriyle bağlanması

Direct Discovery tablolarını bağlamak için Join On cümlelerini de kullanabilirsiniz. Bu örnek deyimde SalesOrderHeader tablosunu SalesOrderDetail tablosuna SalesOrderID alanı üzerinden birleştiriyoruz ve ayrıca Customer tablosuyla SalesOrderHeader tablosunu Customer ID alanı üzerinden birleştiriyoruz.

Bu örnekte, aynı mantıksal tablodan ölçümler oluşturuyoruz; bu da bunları aynı grafikte kullanabileceğimiz anlamına geliyor. Örneğin, ölçümleri SubTotal ve OrderQty olan bir grafik oluşturabilirsiniz.

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);