Ir para conteúdo principal Pular para conteúdo complementar

Suporte a várias tabelas no Direct Discovery

É possível usar o Direct Discovery para carregar mais de uma tabela ou exibição usando a funcionalidade de junção ANSI SQL. Em um único gráfico, todas as medidas devem ser derivadas da mesma tabela lógica do QlikView, mas isto pode ser uma combinação de várias tabelas da origem vinculadas por comandos de junção. No entanto, é possível usar dimensões provenientes de outras tabelas do mesmo gráfico.

Por exemplo, você pode vincular as tabelas carregadas com o Direct Discoveryusando uma cláusula Where ou Join.

  • Direct Discovery pode ser implantado em um cenário de fato único/dimensões múltiplas de memória com conjuntos de dados grandes.
  • Direct Discovery pode ser usado com mais de uma tabela que deve corresponder a qualquer um dos seguintes critérios:
    • A cardinalidade do campo chave na junção é baixa.
    • A cardinalidade do campo chave na junção é alta, DirectEnableSubquery é definida como verdadeira e todas as tabelas foram unidas com Direct Discovery.

      Usando subconsultas com o Direct Discovery

  • Direct Discovery não é adequado para implantação em um cenário de Terceira forma normal com todas as tabelas na forma Direct Discovery.

Vinculando tabelas do Direct Discovery com uma cláusula Where

Neste script de exemplo, carregamos os dados do banco de dados AW2012. As tabelas Product e ProductSubcategory são vinculadas com uma cláusula Where usando o campo comum 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 ;

Vinculando tabelas do Direct Discovery com cláusulas Join On

Também é possível usar cláusulas Join On para vincular tabelas do Direct Discovery. Neste comando de exemplo, unimos a tabela SalesOrderHeader à tabela SalesOrderDetail por meio do campo SalesOrderID e também unimos a tabela Customer à tabela SalesOrderHeader por meio do campo Customer ID.

Neste exemplo, criamos medidas da mesma tabela lógica, o que significa que podemos usá-las no mesmo gráfico. Por exemplo, é possível criar um gráfico com SubTotal e OrderQty como medidas.

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);
Nota informativaNão é possível fazer referência a tabelas por alias na cláusula FROM. É necessário usar o nome completo da tabela.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!

Participe do Programa de Modernização do Analytics

Remove banner from view

Modernize sem comprometer seus valiosos aplicativos QlikView com o Programa de Modernização do Analytics. Clique aqui para mais informações ou entre em contato: ampquestions@qlik.com