Replace
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.
Składnia:
Replace[only][Concatenate[(tablename)]] (loadstatement | selectstatement)
Replace[only]mapstatement
Podczas normalnego (nie częściowego) ładowania konstrukcja Replace LOAD będzie działać jako normalna instrukcja LOAD, ale poprzedzona DropTable. Najpierw stara tabela zostanie usunięta, a następnie rekordy zostaną wygenerowane i zapisane jako nowa tabela.
Jeśli będzie używany prefiks Concatenate lub jeśli będzie istnieć tabela z tym samym zestawem pól, będzie to odpowiednia tabela do usunięcia. W przeciwnym razie nie będzie tabeli do usunięcia, a konstrukcja ReplaceLOAD będzie identyczna jak normalna instrukcja LOAD.
Częściowe ładowanie da takie same rezultaty. Jedyna różnica polega na tym, że zawsze istnieje tabela do usunięcia z poprzedniego wykonania skryptu. Konstrukcja ReplaceLOAD zawsze najpierw usunie starą tabelę, a następnie utworzy nową.
W przypadku instrukcjiReplace Map...Using mapowanie jest przeprowadzane również podczas częściowego wykonywania skryptu.
Argumenty:
Argument | Opis |
---|---|
only | Opcjonalny kwalifikator wskazujący, że instrukcja ma być ignorowana podczas normalnego (nieczęściowego) przeładowania. |
Przykłady i wyniki:
Przykład | Wynik |
---|---|
Tab1: Replace LOAD * from File1.csv; |
Podczas normalnego i częściowego przeładowania tabela QlikView o nazwie Tab1 jest najpierw usuwana. Nowe dane są następnie ładowane z pliku File1.csv i zapisywane w tabeli Tab1. |
Tab1: Replace only LOAD * from File1.csv; |
Podczas normalnego przeładowania ta instrukcja jest pomijana. Podczas częściowego przeładowania tabela QlikView o poprzedniej nazwie Tab1 jest najpierw usuwana. Nowe dane są następnie ładowane z pliku File1.csv i zapisywane w tabeli Tab1. |
Tab1: LOAD a,b,c from File1.csv; Replace LOAD a,b,c from File2.csv; |
Podczas normalnego przeładowania File1.csv jest wczytywany do tabeli QlikView o nazwie Tab1, która następnie zostaje usunięta i zastąpiona nowymi danymi załadowanymi z pliku File2.csv. Następuje utrata wszystkich danych z pliku File1.csv. Podczas częściowego przeładowania tabela QlikView o nazwie Tab1 jest najpierw usuwana. Następnie jest ona zastępowana nowymi danymi załadowanymi z pliku File2.csv. |
Tab1: LOAD a,b,c from File1.csv; Replace only LOAD a,b,c from File2.csv; |
Podczas normalnego przeładowania dane są ładowane z pliku File1.csv i zapisywane w tabeli QlikView o nazwie Tab1. Plik File2.csv jest pomijany. Podczas częściowego przeładowania tabela QlikView o nazwie Tab1 jest najpierw usuwana. Następnie jest ona zastępowana nowymi danymi załadowanymi z pliku File2.csv. Następuje utrata wszystkich danych z pliku File1.csv. |