Direct Discovery-veldenlijsten
Een veldenlijst is een door komma's gescheiden lijst met veldspecificaties, fieldname {, fieldname}. Een veldspecificatie kan een veldnaam zijn. In dat geval wordt dezelfde naam gebruikt voor de databasekolomnaam en de veldnaam. Een veldspecificatie kan ook een "veldalias" zijn. In dat geval wordt een Qlik Sense-veldnaam gegeven aan een database-uitdrukking of kolomnaam.
Veldnamen kunnen simpele namen of namen tussen aanhalingstekens zijn. Een simpele naam begint met een alfabetisch Unicode-teken en wordt gevolgd door een combinatie van alfabetische of numerieke tekens of onderstrepingstekens. Namen tussen aanhalingstekens beginnen met een dubbel aanhalingsteken en bevatten een willekeurige reeks van tekens. Als een naam tussen aanhalingstekens dubbele aanhalingstekens bevat, worden deze aanhalingstekens aangegeven door middel van twee dubbele aanhalingstekens naast elkaar.
Qlik Sense-veldnamen zijn hoofdlettergevoelig. Databaseveldnamen kunnen al dan niet hoofdlettergevoelig zijn, afhankelijk van de database. Een Direct Discovery-query behoudt de weergave in hoofdletters of kleine letters van alle veldidentificaties en aliassen. In het volgende voorbeeld wordt de alias "MyState" intern gebruikt voor het opslaan van de gegevens uit de databasekolom "STATEID".
Dit wijkt af van het resultaat van een SQL Select-opdracht met een alias. Als de alias niet expliciet tussen aanhalingstekens staat, bevat het resultaat de standaardcase van de kolom die is geretourneerd door de doeldatabase. In het volgende voorbeeld, maakt de SQL Select-opdracht aan een an Oracle-database "MYSTATE," met allemaal hoofdletters, als de interne Qlik Sense-alias zelfs al is de alias opgegeven als een combinatie van hoofdletters en kleine letters. De SQL Select-opdracht maakt gebruik van de kolomnaam die wordt geretourneerd door de database, die in het geval van Oracle volledig in hoofdletters is.
U kunt dit gedrag vermijden door de LOAD-opdracht te gebruiken om de alias op te geven.
SQL Select STATEID, STATEMENT from STATE_TABLE;
In dit voorbeeld wordt de kolom "STATEID" intern opgeslagen door Qlik Sense als "MyState".
De meeste scalaire uitdrukkingen in databases zijn toegestaan als veldspecificaties. Functieaanroepen kunnen eveneens worden gebruikt in veldspecificaties. Uitdrukkingen kunnen constanten bevatten die booleaanse, numerieke of tekenreekswaarden zijn tussen enkele aanhalingstekens (ingesloten enkele aanhalingstekens worden aangeduid met twee enkele aanhalingstekens naast elkaar).
Voorbeelden:
Direct Discovery biedt geen ondersteuning voor het gebruik van aggregaties in LOAD-opdrachten. Als aggregaties worden gebruikt, zijn de resultaten onvoorspelbaar. Een LOAD-opdracht zoals de volgende mag niet worden gebruikt:
De SUM mag niet in de LOAD-opdracht worden opgenomen.
Direct Discovery biedt tevens geen ondersteuning voor Qlik Sense-functies in Direct Query-opdrachten. Zo resulteert bijvoorbeeld de volgende specificatie voor een DIMENSION-veld in een fout als het "Mth"-veld wordt gebruikt als een dimensie in een visualisatie: