Direct Query
A instrução DIRECT QUERY permite acessar tabelas por meio de uma conexão
Syntax:
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.
Ao usar a palavra-chave MEASURE, é possível definir campos que o QlikView 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
A sintaxe NATIVE 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
- Como expressões de campo nas cláusulas DIMENSION e MEASURE
- Como o conteúdo da cláusula WHERE
Examples:
DIMENSION Dim1, Dim2MEASURENATIVE ('X % Y') AS X_MOD_Y
DIMENSION Dim1, Dim2MEASURE X, YFROM TableNameWHERE NATIVE ('EMAIL MATCHES "\*.EDU"')
Arguments:
Argumento | Descrição |
---|---|
|
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 QlikView. 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 QlikView. |
|
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. |
|
A sintaxe completa das cláusulas de banco de dados WHERE é definida aqui, mas a maior parte das "expressões relacionais" de NOT é um operador unário, ao contrário de um modificador em determinadas palavras-chaves. Examples: 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)
|
Example:
Neste exemplo, uma tabela de banco de dados chamada
Por exemplo, o comando SELECT:
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;
pode ser transformado no seguinte comando DIRECT QUERY:
DIMENSION
SalesOrderID,
RevisionNumber
MEASURE
SubTotal,
TaxAmt
DETAIL
OrderDate
FROM MyDB.Sales.SalesOrderHeader;