Direct Query
Instrukcja DIRECT QUERY umożliwia uzyskanie dostępu do tabel za pośrednictwem połączenia
Syntax:
DIRECT QUERY DIMENSION fieldlist [MEASURE fieldlist] [DETAIL fieldlist] FROM tablelist
[WHERE where_clause]
Słowa kluczowe DIMENSION, MEASURE i DETAIL mogą być używane w dowolnej kolejności.
Klauzule słów kluczowych DIMENSION i FROM są wymagane we wszystkich instrukcjach DIRECT QUERY. Słowo kluczowe FROM musi poprzedzać słowo kluczowe DIMENSION.
Pola określane bezpośrednio po słowie kluczowym DIMENSION są ładowane do pamięci i mogą być używane w celu tworzenia asocjacji między danymi w pamięci i danymi aplikacji Direct Discovery.
Przy użyciu słowa kluczowego MEASURE można określić słowa, które aplikacja QlikView rozpoznaje na „poziomie meta”. Rzeczywiste dane pola miary istnieją tylko w bazie danych podczas procesu ładowania danych. Są one pobierane doraźnie w zależności od wyrażeń wykresu używanych w wykresie.
Zwykle pola zawierające wartości dyskretne, które będą używane jako wymiary, powinny być ładowane za pomocą słowa kluczowego DIMENSION, a liczby, które będą używane tylko w agregacjach, powinny być wybierane za pomocą słowa kluczowego MEASURE.
Pola DETAIL udostępniają informacje lub szczegóły, na przykład pola komentarzy, które użytkownik może wyświetlać w tabeli pozwalającej na drążenie do szczegółów. Pola DETAIL nie mogą być używane w wyrażeniach wykresu.
Domyślnie instrukcja DIRECT QUERY działa niezależnie od źródła danych w przypadku źródeł danych, które obsługują
Składnia zapytań NATIVE może być używana, gdy użytkownik zna bazę danych, której dotyczą zapytania, i zamierza użyć rozszerzeń
- Jako wyrażenia pola w klauzulach DIMENSION i MEASURE.
- Jako treść klauzuli WHERE
Examples:
DIMENSION Dim1, Dim2MEASURENATIVE ('X % Y') AS X_MOD_Y
DIMENSION Dim1, Dim2MEASURE X, YFROM TableNameWHERE NATIVE ('EMAIL MATCHES "\*.EDU"')
Arguments:
Argument | Opis |
---|---|
|
Rozdzielana przecinkami lista 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 QlikView. Specyfikacja pola może być też aliasem pola. W takiej sytuacji wyrażeniu bazy danych lub kolumnie jest nadawana nazwa pola QlikView. |
|
Lista nazw tabel lub widoków w bazie danych, z której dane będą ładowane. Zwykle są to widoki, które zawierają wynik operacji JOIN wykonywanej w bazie danych. |
|
Pełna składnia klauzul WHERE bazy danych nie została zdefiniowana w niniejszej publikacji, ale większość „relacyjnych wyrażeń” NOT jest operatorem jednoelementowym w przeciwieństwie do modyfikatora w niektórych słowach kluczowych. Examples: WHERE x > 100 AND "Region Code" IN ('south', 'west')
WHERE Code IS NOT NULL and Code LIKE '%prospect'
WHERE NOT X in (1,2,3)
Ostatniego przykładu nie można zapisać jako: WHERE X NOT in (1,2,3)
|
Example:
W tym przykładzie używana jest tabela bazy danych o nazwie
Przykład dotyczący instrukcji SELECT:
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;
może zostać zmieniona w następującą instrukcję DIRECT QUERY:
DIMENSION
SalesOrderID,
RevisionNumber
MEASURE
SubTotal,
TaxAmt
DETAIL
OrderDate
FROM MyDB.Sales.SalesOrderHeader;