Stöd för flera tabeller i Direct Discovery

Du kan använda Direct Discovery för att ladda fler än en tabell eller vy med hjälp av ANSI SQL join-funktionen. I ett enda diagram måste alla mått hämtas från samma logiska tabell i QlikView. Denna kan dock bestå av flera kombinerade tabeller från datakällan, som länkas med hjälp av join-satser. Däremot kan du använda dimensioner som kommer från andra tabeller i samma diagram.

Exempelvis kan du länka tabellerna som har laddats med Direct Discovery med hjälp av en Where-sats eller en Join-sats.

  • Direct Discovery kan användas i ett scenario med ett enda fakta/flera dimensioner i minnet med stora datauppsättningar.
  • Direct Discovery kan användas med mer än en tabell som kan matcha något av följande kriterier:
  • Direct Discovery är inte lämplig för användning i ett scenario med tredje normalformen med alla tabeller i formuläret Direct Discovery.

Länka Direct Discovery-tabeller med en Where-sats

I detta exempelskript laddar vi data från databasen AW2012. Tabellerna Product och ProductSubcategory är länkade med en Where-sats med det gemensamma fältet ProductSubCategoryID.

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 ;

Länka Direct Discovery-tabeller med Join On-satser

Du kan även använda Join On-satser för att länka Direct Discovery-tabeller. I den här exempelsatsen länkar vi SalesOrderHeader-tabellen till SalesOrderDetail-tabellen via fältet SalesOrderID, och länkar även Customer-tabellen till SalesOrderHeader-tabellen via fältet Customer ID.

I detta exempel skapar vi mått från samma logiska tabell. Det innebär att vi kan använda dem i samma diagram. Du kan exempelvis skapa en tabell med måtten SubTotal och OrderQty.

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);
Observera: Det går inte att hänvisa till tabeller genom deras alias i FROM-satsen, du måste använda hela tabellnamnet.

Hjälpte den här informationen?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

Varför var informationen inte till hjälp och hur kan vi förbättra den?