Ana içeriğe geç Tamamlayıcı içeriğe geç

içinde çoklu tablo desteğiDirect Discovery

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 QlikView 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ümelerini içeren tek olgulu/çok boyutlu bir bellek içi senaryosunda dağıtılabilir.
  • Direct Discovery, aşağıdaki kriterlerden herhangi biriyle eşleşen birden fazla tablo ile kullanılabilir:
    • Join içindeki anahtar alanın önemliliğ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.

      Direct Discovery ile alt sorguları kullanma

  • Direct Discovery, tüm tabloların Direct Discovery biçiminde olduğu Üçüncü Normal Biçim senaryosunda dağıtıma 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ı, ortak ProductSubCategoryID alanı kullanılarak 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, hesaplama olarak SubTotal ve OrderQty kullanılan 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);
Bilgi notuFROM cümlesinde tablolara takma isim ile başvurulması mümkün değildir, tam tablo adını kullanmanız gerekir.

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!

Analiz Modernleştirme Programına katılın

Remove banner from view

Analiz Modernleştirme Programı ile değerli QlikView uygulamalarınızı ödün vermeden modernleştirin. Bize ulaşmak ve daha fazla bilgi almak için buraya tıklayın: ampquestions@qlik.com