Listas de campos en Direct Discovery
Una lista de campos es una lista separada por comas de especificaciones de campos, 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. O una especificación de campo puede ser un "campo alias," en cuyo caso se da un nombre de campo Qlik Sense a una expresión de base de datos o nombre de columna.
Los nombres de campo pueden ser o nombres simples o nombres entrecomillados. Un nombre simple comienza con un carácter alfabético Unicode y va seguido de cualquier combinación de caracteres alfabéticos o numéricos o guiones bajos. Los nombres entrecomillados comienzan con unas comillas dobles y contienen cualquier secuencia de caracteres. Si un nombre entrecomillado contiene comillas dobles, esas comillas dobles se representan empleando dos signos de dobles comillas adyacentes.
Los nombres de campo en Qlik Sense son sensibles a mayúsculas. Los nombres de campo de las bases de datos pueden ser o no sensibles a mayúsculas, dependiendo de la base de datos concreta. Una consulta Direct Discovery preserva el caso de todos los identificadores de campos y alias. En el siguiente ejemplo, el alias "MyState" se utiliza internamente para almacenar los datos de la columna de la base de datos "STATEID".
Esto difiere del resultado de una sentencia SQL Select con un alias. Si el alias no se entrecomilla explícitamente, el resultado por defecto es el de una columna devuelta por la base de datos destino. En el ejemplo siguiente, la instrucción SQL Select a una base de datos Oracle crea "MYSTATE," con todas las letras mayúsculas, como el alias interno de Qlik Sense, aunque el alias se especifica como un caso mixto. La sentencia SQL Select utiliza el nombre de columna que devuelve la base de datos, que en el caso de Oracle es todo en mayúsculas.
Para evitar este comportamiento, use la sentencia LOAD para especificar el alias.
SQL Select STATEID, STATEMENT from STATE_TABLE;
En este ejemplo, la columna "STATEID" es almacenada internamente por Qlik Sense como "MyState".
Se permiten la mayoría de expresiones escalares de bases de datos como especificaciones de campos. Las llamadas a funciones también se pueden utilizar en especificaciones de campos. Las expresiones pueden contener constantes que son booleanas, numéricas, o cadenas contenidas en signos de entrecomillado simple (la inclusión de signos de entrecomillado simple viene representada por signos de entrecomillado adyacentes).
Ejemplos:
Direct Discovery no permite el uso de agregaciones en sentencias LOAD. Si se utilizaran agregaciones, los resultados serían impredecibles. No debe utilizarse una sentencia LOAD como la siguiente:
SUM no debe estar en la sentencia LOAD.
Direct Discovery tampoco admite funciones de Qlik Sense en sentencias Direct Query. Por ejemplo, la siguiente especificación para un campo DIMENSION devuelve un error cuando el campo "Mth" se usa como una dimensión en una visualización: