Direct Query
La sentencia DIRECT QUERY le permite acceder a tablas mediante una conexión
Syntax:
DIRECT QUERY DIMENSION fieldlist [MEASURE fieldlist] [DETAIL fieldlist] FROM tablelist
[WHERE where_clause]
Las palabras clave DIMENSION, MEASURE y DETAIL pueden utilizarse en cualquier orden.
Las palabras clave DIMENSION y FROM son obligatorias en todas las sentencias DIRECT QUERY. La palabra clave FROM debe aparecer después de la palabra clave DIMENSION.
Los campos especificados directamente tras la palabra clave DIMENSION se cargan en la memoria y pueden utilizarse para crear asociaciones entre los datos en memoria y los datos de Direct Discovery.
Utilizando la palabra clave MEASURE puede definir campos de los que QlikView es consciente a un “nivel meta”. Los datos reales de un campo de medida residen solo en la base de datos durante el proceso de carga de datos, y se recuperan conforme a las expresiones de gráfico que se utilicen en un gráfico.
Normalmente, los campos con valores discretos que se emplearán como dimensiones deberían cargarse con la palabra clave DIMENSION, mientras que los datos numéricos que se utilizarán solo en las agregaciones, deberían seleccionarse con la palabra clave MEASURE.
Los campos DETAIL ofrecen información o detalles, como campos de comentario, que un usuario puede querer mostrar en un cuadro de tabla que descienda a los detalles. Los campos DETAIL no pueden utilizarse en expresiones de gráfico.
Por diseño, la sentencia DIRECT QUERY es neutra en cuanto a los datos para fuentes de datos que admiten
Se puede emplear la sintaxis NATIVE de la fuente de datos cuando el usuario conozca la base de datos que desea consultar y desee explotar extensiones específicas de bases de datos en
- Como expresiones de campos en cláusulas DIMENSION y MEASURE
- Como el contenido de la 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 | Descripción |
---|---|
|
Una lista de especificaciones de campos separadas por comas, . fieldname {, fieldname}. Una especificación de campo puede ser un nombre de campo, en cuyo caso se utiliza el mismo nombre para el nombre de la columna de la base de datos y el nombre del campo QlikView. O una especificación de campo puede ser un "campo alias," en cuyo caso se da un nombre de campo QlikView a una expresión de base de datos o nombre de columna. |
|
es el nombre de una tabla o vista de la base de datos desde la que se cargan los datos. Por lo general se trata de vistas que contienen un JOIN efectuado en la base de datos. |
|
Aquí no se define la sintaxis completa de las cláusulas WHERE de bases de datos, pero se permiten la mayoría de “expresiones relacionales” de NOT es un operador unario, a diferencia de un modificador o determinadas palabras clave. 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)
Este último ejemplo no puede escribirse como: WHERE X NOT in (1,2,3)
|
Example:
En este ejemplo se utiliza una tabla de base de datos denominada
Por ejemplo, la sentencia SELECT:
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;
podría cambiar a la siguiente sentencia DIRECT QUERY:
DIMENSION
SalesOrderID,
RevisionNumber
MEASURE
SubTotal,
TaxAmt
DETAIL
OrderDate
FROM MyDB.Sales.SalesOrderHeader;