Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Direct Query

Instrukcja DIRECT QUERY umożliwia uzyskanie dostępu do tabel za pośrednictwem połączenia ODBC lub OLE DB przy użyciu funkcji Direct Discovery.

Składnia:  

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.

InformacjaInstrukcja DIRECT QUERY nie może zawierać klauzul DISTINCT ani GROUP BY.

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ą SQL. Z tego powodu ta sama instrukcja DIRECT QUERY może być używana dla różnych baz danych SQL bez zmian. Aplikacja Direct Discovery generuje w razie potrzeby zapytania właściwe dla bazy danych.

Składnia zapytań NATIVE może być używana, gdy użytkownik zna bazę danych, której dotyczą zapytania, i zamierza użyć rozszerzeń SQL właściwych dla tej bazy danych. Składnia NATIVE dla źródła danych jest obsługiwana:

  • Jako wyrażenia pola w klauzulach DIMENSION i MEASURE.
  • Jako treść klauzuli WHERE

Przykłady:  

DIRECT QUERY 
    DIMENSION Dim1, Dim2 
    MEASURE 
    NATIVE ('X % Y') AS X_MOD_Y   
FROM TableName;
                
DIRECT QUERY
    DIMENSION Dim1, Dim2
    MEASURE X, Y
FROM TableName
WHERE NATIVE ('EMAIL MATCHES "\*.EDU"');
InformacjaNastępujące terminy są używane jako słowa kluczowe i dlatego w postaci bez cudzysłowów nie mogą być używane jako nazwy kolumn ani pól: and, as, detach, detail, dimension, distinct, from, in, is, like, measure, native, not, or, where

Argumenty:  

Argumenty Direct query
Argument Opis
fieldlist

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.

Listy pól aplikacji Direct Discovery

tablelist

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.

where_clause

Pełna składnia klauzul WHERE bazy danych nie została zdefiniowana w niniejszej publikacji, ale większość „relacyjnych wyrażeń” SQL jest dozwolona — między innymi stosowanie wywołań funkcji, operator LIKE dla ciągów znaków, IS NULL i IS NOT NULL, z kolei operator IN. BETWEEN nie jest uwzględniony.

NOT jest operatorem jednoelementowym w przeciwieństwie do modyfikatora w niektórych słowach kluczowych.

Przykłady:  

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)

Przykład:  

W tym przykładzie używana jest tabela bazy danych o nazwie TableName, która zawiera pola Dim1, Dim2, Num1, Num2 i Num3.Pola Dim1 i Dim2 zostaną wczytane do zestawu danych QlikView.

DIRECT QUERY DIMENSTION Dim1, Dim2 MEASURE Num1, Num2, Num3 FROM TableName ;
 

Dim1 i Dim2 będą dostępne do użycia jako wymiary. Num1, Num2 i Num3 będą dostępne do agregacji. Dim1 i Dim2 również są dostępne do agregacji. Typ agregacji, dla których można użyć wymiarów Dim1 i Dim2, jest zależny od ich typów danych. Na przykład w wielu przypadkach pola DIMENSION zawierają dane tekstowe, takie jak nazwiska lub numery kont. Tych pól nie można sumować, ale można je policzyć: count(Dim1).

InformacjaInstrukcje DIRECT QUERY są zapisywane bezpośrednio w edytorze skryptów. W celu uproszczenia konstruowania instrukcji DIRECT QUERY można wygenerować instrukcję SELECT z powiązania między danymi, a następnie przeprowadzić edycję wygenerowanego skryptu, aby zmienić ją w instrukcję DIRECT QUERY.
Przykład dotyczący instrukcji SELECT:

SQL SELECT
SalesOrderID,
RevisionNumber,
OrderDate,
SubTotal,
TaxAmt
FROM MyDB.Sales.SalesOrderHeader;


może zostać zmieniona w następującą instrukcję DIRECT QUERY:

DIRECT QUERY
DIMENSION
SalesOrderID,
RevisionNumber

MEASURE
SubTotal,
TaxAmt

DETAIL
OrderDate

FROM MyDB.Sales.SalesOrderHeader;

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ć!

Dołącz do Programu Modernizacji Analityki

Remove banner from view

Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com