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

Poprzedzające polecenie LOAD

Funkcja poprzedzającego polecenia LOAD umożliwia ładowanie tabeli w jednej operacji przy jednoczesnym określeniu kilku kolejnych przekształceń. Zasadniczo jest to instrukcja LOAD ładowana z instrukcji LOAD lub SELECT bez określania kwalifikatora źródłowego, takiego jak From lub Resident, jak to się zwykle dzieje. W ten sposób można skumulować dowolną liczbę instrukcji LOAD. Instrukcja na dole zostanie oceniona jako pierwsza, następnie zostanie oceniona instrukcja znajdująca się powyżej aż do instrukcji na samej górze.

Ten sam wynik można uzyskać przy użyciu klauzuli Resident, ale w większości przypadków poprzedzające polecenie LOAD będzie działać szybciej.

Inną zaletą poprzedzającego ładowania jest przechowywanie obliczenia w jednym miejscu i możliwość jego ponownego wykorzystania w instrukcjach LOAD umieszczonych wyżej.

InformacjaNastępujących prefiksów nie można używać w poprzedzającej instrukcji LOAD: Join, Crosstable i Intervalmatch.

Przykład 1: Przekształcanie danych ładowanych przy użyciu instrukcji SELECT

W przypadku ładowania danych z bazy danych przy użyciu instrukcji SELECT nie można użyć funkcji aplikacji QlikView do interpretowania danych w instrukcji SELECT. Rozwiązaniem jest dodanie instrukcji LOAD, gdy wykonuje się przekształcenie danych, powyżej instrukcji SELECT.

W tym przykładzie interpretujemy datę przechowywaną jako ciąg znaków przy użyciu funkcji Date# aplikacji QlikView w instrukcji LOAD, przy użyciu poprzedniej instrukcji SELECT jako źródła.

LOAD Date#(OrderDate,'YYYYMMDD') as OrderDate;
SQL SELECT OrderDate FROM … ;

Przykład 2: Upraszczanie skryptu przez ponowne użycie obliczeń

W tym przykładzie obliczenie jest wykorzystywane w skrypcie więcej niż raz:

LOAD ..., Age( FromDate + IterNo() – 1, BirthDate ) as Age, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

Wprowadzając obliczenie w pierwszym uruchomieniu, możemy użyć go ponownie w funkcji Age w poprzedzającej funkcji LOAD:

LOAD ..., ReferenceDate, Age( ReferenceDate, BirthDate ) as Age; LOAD *, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

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