QlikWorld 2020 Global Conference. Join us to discover how to get the most from your data. Act fast. Register now and save.

Direct Discovery-Feldlisten

Eine Feldliste ist eine kommagetrennte Liste von Feldspezifikationen, fieldname {, fieldname}. Eine Feldspezifikation kann ein Feldname sein: In diesem Fall wird derselbe Name für den Datenbankspaltennamen und den Feldnamen verwendet. Oder eine Feldspezifikation kann ein Feldalias sein: In diesem Fall erhält eine Datenbankformel oder ein Spaltenname einen QlikView-Feldnamen.

Feldnamen können einfache Namen sein oder in Anführungszeichen gesetzt werden. Ein einfacher Name beginnt mit einem alphabetischen Unicode-Zeichen, gefolgt von einer beliebigen Kombination aus alphabetischen oder numerischen Zeichen oder Unterstrichen. Namen in Anführungszeichen beginnen mit einem doppelten Anführungszeichen und können eine beliebige Zeichenfolge enthalten. Wenn ein Name in Anführungszeichen doppelte Anführungszeichen enthält, werden diese durch zwei aufeinanderfolgende doppelte Anführungszeichen dargestellt.

Bei QlikView-Feldnamen wird zwischen Groß- und Kleinschreibung unterschieden. Bei Datenbankfeldnamen wird je nach Datenbank zwischen Groß- und Kleinschreibung unterschieden oder nicht. Bei einer Direct Discovery-Abfrage wird die Groß- bzw. Kleinschreibung aller Feldidentifikatoren und Aliase beibehalten. Im nachfolgenden Beispiel wird der Alias "MyState" intern für die Speicherung der Daten aus der Datenbankspalte "STATEID" verwendet.

DIRECT QUERY Dimension STATEID as MyState Measure AMOUNT from SALES_TABLE;
 

Das unterscheidet sich vom Ergebnis eines SQL Select-Befehls mit einem Alias. Wenn der Alias nicht explizit in Anführungszeichen gesetzt wird, enthält das Ergebnis die durch die Zieldatenbank ausgegebene Standardschreibung der Spalte. Im folgenden Beispiel erzeugt der SQL Select-Befehl an eine Oracle-Datenbank "MYSTATE," als internen QlikView-Alias in Großbuchstaben, obwohl der Alias in gemischter Schreibung angegeben wurde. Der SQL Select-Befehl greift auf den Spaltennamen zurück, der von der Datenbank ausgegeben wurde, im Fall von Oracle also Großbuchstaben.

SQL Select STATEID as MyState, STATENAME from STATE_TABLE;
 

Um dies zu vermeiden, verwenden Sie den LOAD-Befehl, um den Alias festzulegen.

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

In diesem Beispiel wird die "STATEID"-Spalte intern von QlikView als "MyState" gespeichert.

Die meisten skalaren Formeln in Datenbanken sind als Feldspezifikationen zulässig. In Feldspezifikationen können auch Funktionsaufrufe verwendet werden. Formeln können boolesche, numerische Konstanten oder Konstanten in Form von Strings in einfachen Anführungszeichen enthalten (eingebettete einfache Anführungszeichen werden durch danebenliegende einfache Anführungszeichen dargestellt).

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 unterstützt nicht die Verwendung von Aggregierungen in LOAD-Befehlen. Bei der Verwendung von Aggregierungen sind die Ergebnisse unvorhersehbar. LOAD-Befehle wie die folgenden sollten nicht verwendet werden:

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

Die SUM sollte nicht in den LOAD-Befehl eingebunden werden.

Direct Discovery unterstützt auch nicht die Verwendung von QlikView-Funktionen in Direct Query-Befehlen. Beispielsweise führt die folgende Spezifikation eines DIMENSION-Feldes zum fehlerhaften Ergebnis, wenn das Feld "Mth" als Dimension in einem Diagramm verwendet wird:

month(ModifiedDate) as Mth