Early Access: The content on this website is provided for informational purposes only in connection with pre-General Availability Qlik Products.
All content is subject to change and is provided without warranty.
Przeskocz do zawartości głównej

Listy pól aplikacji Direct Discovery

Lista pól jest rozdzielaną przecinkami listą specyfikacji pól fieldname {, fieldname}. Specyfikacja pola może być nazwą pola. W takiej sytuacji ta sama nazwa będzie używana jako nazwa kolumny bazy danych i nazwa pola. Specyfikacja pola może być też aliasem pola. W takiej sytuacji wyrażeniu bazy danych lub kolumnie jest nadawana nazwa pola Qlik Sense.

Nazwy pól mogą być nazwami prostymi lub nazwami cytowanymi. Nazwa prosta zaczyna się od alfabetycznego znaku Unicode, a po niej następuje dowolna kombinacja znaków alfabetu, znaków cyfr lub podkreśleń. Nazwy cytowane zaczynają się od znaku podwójnego cudzysłowu i zawierają dowolną sekwencję znaków. Jeśli nazwa cytowana zawiera znaki podwójnego cudzysłowu, te znaki są reprezentowane przez dwa sąsiadujące znaki podwójnego cudzysłowu.

W nazwach pól Qlik Sense rozróżniana jest wielkość liter. W nazwach pól bazy danych wielkość liter może być uwzględniana lub nie w zależności od bazy danych. Zapytanie Direct Discovery zachowuje wielkość liter wszystkich identyfikatorów i aliasów pól. W poniższym przykładzie alias "MyState" jest używany wewnętrznie w celu przechowywania danych z kolumny "STATEID" bazy danych.

DIRECT QUERY Dimension STATEID as MyState Measure AMOUNT from SALES_TABLE;
 

To różni się od wyniku instrukcji SQL Select z aliasem. Jeśli alias nie jest cytowany jawnie, wynik zawiera domyślną wielkość liter kolumny zwracanej przez docelową bazę danych. W poniższym przykładzie instrukcja SQL Select do bazy danych Oracle tworzy "MYSTATE," z wszystkimi wielkimi literami jako wewnętrzny alias Qlik Sense, mimo że alias jest pisany literami o różnej wielkości. Instrukcja SQL Select używa zwróconej przez bazę danych nazwy kolumny, która w przypadku bazy danych Oracle cała jest pisana wielkimi literami.

SQL Select STATEID as MyState, STATENAME from STATE_TABLE;
 

W celu uniknięcia takiego zachowania należy użyć instrukcji LOAD, aby określić alias.

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

W tym przykładzie kolumna "STATEID" jest zapisywana wewnętrznie w aplikacji Qlik Sense jako "MyState".

Wyrażenia skalarne bazy danych mogą być w większości stosowane jako specyfikacje pól. Wywołania funkcji również mogą być używane w specyfikacjach pól. Wyrażenia mogą zawierać stałe logiczne, liczbowe i w postaci ciągów zawartych w pojedynczych cudzysłowach (osadzone pojedyncze cudzysłowy są reprezentowane przez sąsiadujące znaki pojedynczych cudzysłowów).

Przykłady:  

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;

Aplikacja Direct Discovery nie obsługuje użycia agregacji w instrukcjach LOAD. Użycie agregacji może spowodować, że wyniki będą nieprzewidywalne. Instrukcja LOAD, taka jak poniższa, nie powinna być używana:

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

Funkcja SUM nie powinna znajdować się w instrukcji LOAD.

Aplikacja Direct Discovery nie obsługuje także funkcji Qlik Sense w instrukcjach Direct Query. Na przykład poniższa specyfikacja dla pola DIMENSION kończy się błędem, gdy pole "Mth" jest używane jako wymiar w wizualizacji:

month(ModifiedDate) as Mth

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!