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 Qlik Sense. 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:
    • Låg kardinalitet för nyckelfältet i länkningen.
    • Hög kardinalitet för nyckelfältet i länkningen, DirectEnableSubquery är ställd till sann och alla tabeller har länkats med Direct Discovery.

      Mer information finns i Använda underordnade frågor med Direct Discovery.

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

Hjälpte den här informationen?

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