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

Direct Query

O comando DIRECT QUERY permite acessar tabelas por meio de uma conexãoODBC ou OLE DB usando a função do Direct Discovery.

Sintaxe:  

DIRECT QUERY DIMENSION fieldlist [MEASURE fieldlist[DETAIL fieldlist] FROM tablelist

[WHERE where_clause]

 

As palavras-chaves DIMENSION, MEASURE e DETAIL podem ser usadas em qualquer ordem.

As cláusulas das palavras-chaves DIMENSION e FROM são obrigatórias em todos os comandos DIRECT QUERY. A palavra-chave FROM deve aparecer após a palavra-chave DIMENSION.

Os campos especificados diretamente após a palavra-chave DIMENSION são carregados na memória e podem ser usados para criar associações entre dados da memória e do Direct Discovery.

Nota informativaO comando DIRECT QUERY não pode conter a cláusula DISTINCT ou GROUP BY.

Ao usar a palavra-chave MEASURE, é possível definir campos que o Qlik Sense tenha conhecimento a um “nível meta”. Os dados reais de um campo de medida residem apenas no banco de dados durante o processo de carga de dados e são recuperados de forma ad hoc, orientados pelas expressões do gráfico que são usadas ​​em uma visualização.

Normalmente, os campos com valores discretos que serão usados como dimensões devem ser carregados com a palavra-chave DIMENSION, enquanto os números que serão usados em agregações devem ser selecionados apenas com a palavra-chave MEASURE.

DETAIL são campos que fornecem informações ou detalhes, como campos de comentários, que um usuário pode querer exibir em uma tabela. Os campos DETAIL não podem ser usados em expressões de gráfico.

Por concepção, o comando DIRECT QUERY é neutro de fonte de dados para as fontes de dados que oferecem suporte para SQL. Por essa razão, o mesmo comando DIRECT QUERY pode ser usado para diferentes bancos de dados de SQL sem alteração. O Direct Discovery gera consultas apropriadas para o banco de dados, conforme necessário.

A sintaxe nativa da fonte de dados pode ser usada quando o usuário conhece o banco de dados que será consultado e deseja explorar extensões específicas para o banco de dados para o SQL. A sintaxe nativa da fonte de dados é suportada:

  • Como expressões de campo nas cláusulas DIMENSION e MEASURE
  • Como o conteúdo da cláusula WHERE

Exemplos:

DIRECT QUERY
DIMENSION Dim1, Dim2
MEASURE
NATIVE ('X % Y') AS X_MOD_Y
FROM TableName
DIRECT QUERY
DIMENSION Dim1, Dim2
MEASURE X, Y
FROM TableName
WHERE NATIVE ('EMAIL MATCHES "\*.EDU"')
Nota informativaOs seguintes termos são usados como palavras-chave e por isso não podem ser usados como nomes de coluna ou de campo sem estar entre aspas: and, as, detach, detail, dimension, distinct, from, in, is, like, measure, native, not, or, where

Argumentos:  

Argumento Descrição
fieldlist

Uma lista de especificações de campo separada por vírgula, fieldname {, fieldname}. Uma especificação de campo pode ser um nome de campo, no qual o mesmo nome é usado para o nome de coluna do banco de dados e o nome de campo do Qlik Sense. Ou uma especificação de campo pode ser um "alias de campo", no qual uma expressão do banco de dados ou um nome de coluna recebe um nome de campo do Qlik Sense.

Listas de campos do Direct Discovery

tablelist

Uma lista de nomes de tabelas ou visualizações no banco de dados dos quais os dados serão carregados. Normalmente, serão exibições que contêm um JOIN realizado no banco de dados.

where_clause

A sintaxe completa das cláusulas WHERE do banco de dados não está definida aqui, mas a maioria das "expressões relacionais" SQL é permitida, incluindo o uso de chamadas de função, o operador LIKE para cadeias de caracteres, IS NULL e IS NOT NULL e IN. BETWEEN não está incluído.

NOT é um operador unário, ao contrário de um modificador em determinadas palavras-chaves.

Exemplos:

WHERE x > 100 AND "Region Code" IN ('south', 'west')
WHERE Code IS NOT NULL and Code LIKE '%prospect'
WHERE NOT X in (1,2,3)

O último exemplo não pode ser escrito como:

WHERE X NOT in (1,2,3)

Exemplo:  

Neste exemplo, é usada uma tabela de banco de dados chamada TableName, contendo os campos Dim1, Dim2, Num1, Num2 e Num3.Dim1 e Dim2 serão carregados no conjunto de dados Qlik Sense.

DIRECT QUERY DIMENSTION Dim1, Dim2 MEASURE Num1, Num2, Num3 FROM TableName ;
 

Dim1 e Dim2 estarão disponíveis para uso das dimensões. Num1, Num2 e Num3 estarão disponíveis para agregações. Dim1 e Dim2 também estão disponíveis para agregações. O tipo de agregações para as quais Dim1 e Dim2 podem ser usadas depende de seus tipos de dados. Por exemplo, em muitos casos, os campos DIMENSION contêm dados de caracteres, como nomes ou números de conta. Esses campos não podem ser agrupados, mas podem ser contados: count(Dim1).

Nota informativaDIRECT QUERY são comandos escritos diretamente no editor de script. Para simplificar a construção de instruções DIRECT QUERY, você pode gerar uma instrução SELECT a partir de uma conexão de dados e, em seguida, editar o script gerado para transformá-lo em uma instrução DIRECT QUERY.
Por exemplo, a instrução SELECT:

SQL SELECT
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;


pode ser transformada na seguinte instrução DIRECT QUERY:

DIRECT QUERY
DIMENSION
SalesOrderID,
RevisionNumber

MEASURE
SubTotal,
TaxAmt

DETAIL
OrderDate

FROM MyDB.Sales.SalesOrderHeader;

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!