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 QlikView.

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 QlikView 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 QlikView, 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 QlikView 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 QlikView 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 wykresie:

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

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