Vai al contenuto principale

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 licenza.

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 licenza 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 licenza, 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 licenza 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).

Esempi:  

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 licenza 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 un grafico:

month(ModifiedDate) as Mth

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!

Partecipa al programma Analytics Modernization

Remove banner from view

Modernizza senza compromettere le tue preziose app QlikView con il programma Analytics Modernization. Fare clic qui per maggiori informazioni o per contattarci: ampquestions@qlik.com