Prefiksy skryptu
Prefiksy można stosować z obsługującymi je instrukcjami zwykłymi, ale nigdy z instrukcjami sterowania. Wyjątek stanowią prefiksy when i unless, których można używać jako sufiksów klauzul kilku ściśle określonych instrukcji sterowania.
Słowa kluczowe w skrypcie mogą być wpisywane z użyciem dowolnych kombinacji małych i wielkich liter. Wielkość liter jest natomiast uwzględniana w nazwach pól i zmiennych używanych w instrukcjach.
Przy każdej funkcji znajduje się pole rozwijane umożliwiające wyświetlenie składni i krótkiego opisu funkcji. Kliknij nazwę funkcji w opisie składni, aby uzyskać więcej informacji.
Do dowolnej instrukcji LOAD lub SELECT w skrypcie można dodać prefiks Add, aby określić, że powinna ona dodawać rekordy do innej tabeli. Określa on również, że ta instrukcja powinna być uruchamiana podczas częściowego ładowania. Prefiksu Add można też użyć w instrukcji Map.
Add [only] [Concatenate[(tablename )]] (loadstatement | selectstatement)
Add [ Only ] mapstatement
Pliki QVD można tworzyć i utrzymywać automatycznie z użyciem prefiksu buffer. Prefiksu tego można używać w większości instrukcji LOAD i SELECT w skryptach. Sygnalizuje on, że do buforowania wyniku instrukcji używane są pliki QVD.
Buffer[(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
Nawet jeśli dwie tabele przeznaczone do konkatenacji zawierają różne zestawy pól, konkatenacja dwóch tabel może zostać wymuszona za pomocą prefiksu Concatenate.
concatenate[ (tablename ) ] ( loadstatement | selectstatement )
Prefiks ładowania crosstable służy do transpozycji danych strukturalnych typu „tabela krzyżowa” lub „tabela przestawna”. Dane o takiej strukturze są często spotykane podczas pracy ze źródłami w postaci arkuszy kalkulacyjnych. Wynikiem i celem prefiksu ładowania crosstable jest transpozycja takich struktur do zwykłego odpowiednika tabeli z kolumnami, ponieważ ta struktura jest ogólnie lepiej przystosowana do analizy w Qlik Sense.
crosstable (attribute field name, data field name [ , n ] ) ( loadstatement | selectstatement )
Prefiks First w instrukcji LOAD lub SELECT (SQL) służy do ładowania z tabeli źródła danych ustalonej maksymalnej liczby rekordów.
First n( loadstatement | selectstatement )
Prefiks ładowania Generic umożliwia konwersję danych w modelu encja-atrybut-wartość (EAV) na tradycyjną, znormalizowaną, relacyjną strukturę tabeli. Modelowanie EAV jest alternatywnie określane jako „ogólne modelowanie danych” lub „schemat otwarty”.
Generic ( loadstatement | selectstatement )
Prefiks hierarchy służy do przekształcenia tabeli hierarchii nadrzędne-podrzędne w tabelę nadającą się do zastosowania w modelu danych Qlik Sense. Podanie go przed instrukcją LOAD lub SELECT sprawi, że wynik instrukcji ładującej będzie używany jako dane wejściowe dla transformacji tabeli.
Hierarchy (NodeID, ParentID, NodeName, [ParentName], [PathSource], [PathName], [PathDelimiter], [Depth])(loadstatement | selectstatement)
Prefiks ten służy do przekształcenia tabeli hierarchii nadrzędne-podrzędne w tabelę nadającą się do użycia w modelu danych Qlik Sense. Podanie go przed instrukcją LOAD lub SELECT sprawi, że wynik instrukcji ładującej będzie używany jako dane wejściowe dla transformacji tabeli.
HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)
Prefiksy join i keep mogą być poprzedzone prefiksem inner.
Podanie go przed prefiksem join oznacza, że ma być używane sprzężenie wewnętrzne. Wynikowa tabela będzie wtedy zawierać tylko te kombinacje wartości pól z pierwotnych tabel danych, dla których wartości pola łączącego są obecne w obu tabelach. Podanie go przed prefiksem keep oznacza, że przed zapisaniem w aplikacji Qlik Sense obie tabele surowych danych mają zostać zredukowane do części wspólnej danych.
.Inner ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
Prefiks IntervalMatch służy do utworzenia tabeli dopasowującej dyskretne wartości liczbowe do jednego lub wielu interwałów liczbowych, opcjonalnie dopasowując wartości jednego lub kilku kluczy dodatkowych.
IntervalMatch (matchfield)(loadstatement | selectstatement )
IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )
Prefiks join powoduje sprzężenie załadowanej tabeli z istniejącą tabelą nazwaną lub ostatnio utworzoną tabelą danych.
[Inner | Outer | Left | Right ] Join [ (tablename ) ]( loadstatement | selectstatement )
Prefiks keep jest podobny do prefiksu join. Podobnie jak prefiks join powoduje on porównanie załadowanej tabeli do istniejącej tabeli nazwanej lub ostatnio utworzonej tabeli danych. Zamiast jednak sprzęgać tabelę załadowaną z istniejącą, powoduje zredukowanie jednej lub obu tabel do części wspólnej danych przed zapisaniem tabel w aplikacji Qlik Sense. Wykonywane porównanie jest równoważne wykonaniu sprzężenia naturalnego po wszystkich wspólnych polach, czy przebiega tak samo, jak przy analogicznej instrukcji join. Tabele nie są jednak sprzęgane i będą przechowywane w aplikacji Qlik Sense jako dwie odrębne tabele nazwane.
(Inner | Left | Right) Keep [(tablename ) ]( loadstatement | selectstatement )
Prefiksy Join i Keep mogą być poprzedzone prefiksem left.
Podanie go przed prefiksem join oznacza, że ma być używane lewe sprzężenie. Wynikowa tabela będzie zawierać tylko te kombinacje wartości pól z pierwotnych tabel danych, dla których wartości pola łączącego są obecne w pierwszej tabeli. Podanie go przed prefiksem keep oznacza, że przed zapisaniem w aplikacji Qlik Sense druga tabela surowych danych ma zostać zredukowana do części wspólnej z pierwszą tabelą.
Left ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
Prefiks mapping służy do utworzenia tabeli mapowania, której można używać na przykład do zastępowania wartości i nazw pól podczas wykonywania skryptu.
Mapping ( loadstatement | selectstatement )
Do dowolnej instrukcji LOAD lub SELECT w skrypcie można dodać prefiks Merge, aby określić, że ładowana tabela powinna zostać scalona w innej tabeli. Określa on również, że ta instrukcja powinna być uruchamiana podczas częściowego ładowania.
Merge [only] [(SequenceNoField [, SequenceNoVar])] On ListOfKeys [Concatenate [(TableName)]] (loadstatement | selectstatement)
Prefiks NoConcatenate wymusza traktowanie dwóch załadowanych tabel z identycznym zestawem pól jako dwóch oddzielnych tabel wewnętrznych, podczas gdy w przeciwnym wypadku automatycznie zostałaby wobec nich zastosowana konkatenacja.
NoConcatenate( loadstatement | selectstatement )
Jawny prefiks Join może być poprzedzony prefiksem Outer, aby określić sprzężenie zewnętrzne. W przypadku sprzężenia zewnętrznego generowane są wszystkie kombinacje między dwiema tabelami. Otrzymana tabela zawiera zatem kombinacje wartości pól z tabel samych danych, gdzie łączące wartości pola są reprezentowane w jednej lub obu tabelach. Słowo Outer jest opcjonalne i stanowi domyślny typ sprzężenia używany w sytuacji, gdy nie określono prefiksu sprzężenia.
Outer Join [ (tablename) ](loadstatement |selectstatement )
Pełne ładowanie zawsze rozpoczyna się od usunięcia wszystkich tabel w istniejącym modelu danych, a następnie uruchamiany jest skrypt ładowania.
Nie umożliwia tego Częściowe ładowanie. Zamiast tego zachowuje ono w modelu danych wszystkie tabele, a następnie wykonuje tylko instrukcje Load i Select poprzedzone prefiksem Add, Merge lub Replace. Polecenie to nie wpływa na inne tabele danych. Argument only oznacza, że instrukcja powinna być wykonywana tylko podczas częściowego ładowania i pomijana podczas pełnego ładowania. W poniższej tabeli podsumowano wykonanie instrukcji dla częściowego i pełnego ładowania.
Prefiks Replace można dodać do dowolnej instrukcji LOAD lub SELECT w skrypcie, aby określić, że ładowana tabela powinna zastąpić inną tabelę. Określa on również, że ta instrukcja powinna być uruchamiana podczas częściowego ładowania. Prefiksu Replace można też użyć w instrukcji Map.
Replace [only] [Concatenate[(tablename) ]] (loadstatement | selectstatement)
Replace [only] mapstatement
Prefiksy Join i Keep mogą być poprzedzone prefiksem right.
Podanie go przed prefiksem join oznacza, że ma być używane prawe sprzężenie. Wynikowa tabela będzie zawierać tylko te kombinacje wartości pól z pierwotnych tabel danych, dla których wartości pola łączącego są obecne w drugiej tabeli. Podanie go przed prefiksem keep oznacza, że przed zapisaniem w aplikacji Qlik Sense pierwsza tabela surowych danych ma zostać zredukowana do części wspólnej z drugą tabelą.
Right (Join | Keep) [(tablename)](loadstatement |selectstatement )
Prefiks sample w instrukcji LOAD lub SELECT służy do ładowania ze źródła danych losowej próbki rekordów.
Sample p ( loadstatement | selectstatement )
Prefiks semantic umożliwia ładowanie tabel zawierających relacje między rekordami. Mogą to być na przykład odwołania własne w obrębie tabeli, w których jeden rekord wskazuje na inny: nadrzędny, do którego należy, lub poprzedni.
Semantic ( loadstatement | selectstatement)
Prefiks i sufiks unless jest używany do tworzenia klauzuli warunkowej określającej, czy dana instrukcja lub klauzula wyjściowa ma być sprawdzana czy też nie. Mogą być one traktowane jako wygodna alternatywa pełnej instrukcji if..end if.
(Unless condition statement | exitstatement Unless condition )
Prefiks i sufiks when jest używany do tworzenia klauzuli warunkowej określającej, czy dana instrukcja lub klauzula wyjściowa ma być wykonywana czy też nie. Mogą być one traktowane jako wygodna alternatywa pełnej instrukcji if..end if.
( When condition statement | exitstatement when condition )