Elenchi dei campi Direct Discovery

Un elenco del campo è un elenco separato da virgola di specifiche di campo, fieldname {, fieldname}. Una specifica di un campo può essere costituita da un nome di campo, condizione in cui lo stesso nome viene utilizzato per il nome della colonna del database e per il nome di campo. Oppure una specifica di campo può essere costituita da un alias di campo, nel cui caso a un'espressione di database o a un nome di colonna viene assegnato un nome di campo di Qlik Sense.

I nomi di campo possono essere semplici oppure racchiusi tra virgolette. Un nome semplice inizia con un carattere alfabetico Unicode ed è seguito da una qualsiasi combinazione di caratteri alfanumerici o caratteri di sottolineatura. I nomi racchiusi tra virgolette iniziano con virgolette doppie e contengono qualsiasi sequenza di caratteri. Se un nome racchiuso tra virgolette contiene virgolette doppie, tali virgolette vengono rappresentate utilizzando due virgolette doppie adiacenti.

I nomi di campo di Qlik Sense rispettano la distinzione tra maiuscole e minuscole. La distinzione tra maiuscole e minuscole per i nomi di campo del database varia a seconda del database. Una query Direct Discovery mantiene la distinzione utilizzata in tutti gli identificatori e alias del campo. Nell'esempio seguente l'alias "MyState" viene utilizzato internamente per memorizzare i dati dalla colonna del database "STATEID".

DIRECT QUERY Dimension STATEID as MyState Measure AMOUNT from SALES_TABLE;
 

Il risultato sarà diverso rispetto a quello di un'istruzione SQL Select con un alias. Se l'alias non viene racchiuso tra virgolette in modo esplicito, il risultato presenterà la distinzione tra maiuscole e minuscole predefinita della colonna restituita dal database di destinazione. Nell'esempio seguente l'istruzione SQL Select in un database Oracle farà in modo che "MYSTATE," presenti solo lettere maiuscole, come l'alias interno di Qlik Sense, anche se per l'alias viene specificato il formato misto. L'istruzione SQL Select utilizza il nome della colonna restituito dal database, che nel caso di Oracle è tutto in formato maiuscolo.

SQL Select STATEID as MyState, STATENAME from STATE_TABLE;
 

Per evitare questo comportamento, utilizzare l'istruzione LOAD per specificare l'alias.

Load STATEID as MyState, STATENAME;
SQL Select STATEID, STATEMENT from STATE_TABLE;
 

In questo esempio la colonna "STATEID" viene memorizzata internamente da Qlik Sense come "MyState".

La maggior parte delle espressioni scalari del database è consentita come specifiche di campo. Nelle specifiche di campo è possibile utilizzare anche le chiamate di funzione. Le espressioni possono contenere costanti booleane, numeriche o stringhe contenute tra virgolette singole (le virgolette singole incorporate sono rappresentate da virgolette singole adiacenti).

Examples:  

DIRECT QUERY
DIMENSION
SalesOrderID, RevisionNumber
MEASURE
SubTotal AS "Sub Total"
FROM AdventureWorks.Sales.SalesOrderHeader;

 

DIRECT QUERY
DIMENSION
"SalesOrderID" AS "Sales Order ID"
MEASURE
SubTotal,TaxAmt,(SubTotal-TaxAmt) AS "Net Total"
FROM AdventureWorks.Sales.SalesOrderHeader;

 

DIRECT QUERY
DIMENSION
(2*Radius*3.14159) AS Circumference,
Molecules/6.02e23 AS Moles
MEASURE
Num1 AS numA
FROM TableName;

 

DIRECT QUERY
DIMENSION
concat(region, 'code') AS region_code
MEASURE
Num1 AS NumA
FROM TableName;

Direct Discovery non supporta l'utilizzo di aggregazioni nelle istruzioni LOAD. Se vengono utilizzate le aggregazioni, i risultati potrebbero essere imprevedibili. Si consiglia di non utilizzare un'istruzione LOAD come quella seguente:

DIRECT QUERY DIMENSION stateid, SUM(amount*7) AS MultiFirst MEASURE amount FROM sales_table;

La funzione SUM non deve essere contenuta nell'istruzione LOAD.

Anche Direct Discovery non supporta le funzioni di Qlik Sense nelle istruzioni Direct Query. Ad esempio, la specifica seguente per il campo DIMENSION restituisce un errore quando il campo "Mth" viene utilizzato come dimensione in una visualizzazione:

month(ModifiedDate) as Mth