# Load

W kontekście modyfikacji wykresu instrukcja LOAD ładuje do hiperkostki dodatkowe dane z danych zdefiniowanych w skrypcie lub z wcześniej załadowanej tabeli. Możliwe jest również ładowanie danych z połączeń analitycznych.

InformacjaInstrukcja LOAD musi mieć prefiks Replace lub Add — w przeciwnym razie zostanie odrzucona.

Składnia:

Add | Replace LOAD fieldlist

(

inline data [ format-spec ] |

resident table-label

) | extension pluginname.functionname([script] tabledescription)]

[ where criterion | while criterion ]

[ group by groupbyfieldlist ]

[order by orderbyfieldlist ]

Argumenty:

Argumenty

| Argument | Opis |
| --- | --- |
| fieldlist | fieldlist ::= ( \* \| field{, \* \| field } )<br><br>Lista ładowanych pól. Użycie znaku \* jako listy pól oznacza wszystkie pola w tabeli.<br><br>field ::= ( fieldref \| expression ) [as aliasname ]<br><br>Definicja pola musi zawsze zawierać literał, odniesienie do istniejącego pola lub wyrażenie.<br><br>fieldref ::= ( fieldname \|@fieldnumber \|@startpos:endpos [ I \| U \| R \| B \| T] )<br><br>fieldname jest tekstem identycznym z nazwą pola w tabeli. Jeśli nazwa pola zawiera np. spacje, musi być ujęta w proste podwójne cudzysłowy lub nawiasy kwadratowe. Niekiedy nie są dostępne jawne nazwy pól. Wtedy należy użyć innego zapisu:<br><br>@fieldnumber reprezentuje numer pola w rozdzielanym pliku tabeli. Musi to być dodatnia liczba całkowita poprzedzona znakiem „@”. Numeracja zawsze zaczyna się od 1, a kończy na liczbie pól.<br><br>@startpos:endpos reprezentuje pozycję początkową i końcową pola w pliku z rekordami o stałej długości. Obie pozycje muszą być dodatnimi liczbami całkowitymi. Liczby muszą być poprzedzone znakiem „@” i rozdzielone dwukropkiem. Numeracja zawsze zaczyna się od 1, a kończy na liczbie pozycji. W ostatnim polu n jest używane jako pozycja końcowa.<br><br><ul><li>Jeśli bezpośrednio po zapisie <span>@<span>startpos</span>:<span>endpos</span></span> następuje znak <span>I</span> lub <span>U</span>, odczytane bajty będą interpretowane jako dane binarne zawierające liczby całkowite, odpowiednio ze znakiem (<span>I</span>) lub bez znaku (<span>U</span>) (kolejność bajtów Intel). Liczba odczytanych pozycji musi wynosić 1, 2 lub 4. </li><li>Jeśli bezpośrednio po zapisie <span>@<span>startpos</span>:<span>endpos</span></span> następuje znak <span>R</span>, odczytane bajty będą interpretowane jako dane binarne zawierające liczby rzeczywiste (32-bitowe lub 64-bitowe wartości zmiennopozycyjne IEEE). Liczba odczytanych pozycji musi wynosić 4 lub 8. </li><li>Jeśli bezpośrednio po zapisie <span>@<span>startpos</span>:<span>endpos</span></span> następuje znak <span>B</span>, odczytane bajty będą interpretowane jako wartości <span>BCD (Binary Coded Decimal)</span> według standardu COMP-3.   Można podać dowolną liczbę bajtów. </li></ul><br><br>expression może być funkcją liczbową lub znakową operującą na polach tej samej tabeli. Więcej informacji na ten temat zawiera sekcja na temat składni wyrażeń.<br><br>Klauzula [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)as służy do przypisania polu nowej nazwy. |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)inline | Klauzula inline wskazuje dane wpisywane bezpośrednio w skrypcie, a nie ładowane z pliku.<br><br>data ::= [ text ]<br><br>Dane wprowadzane w ramach klauzuli inline muszą być ujęte w podwójne cudzysłowy lub w nawiasy kwadratowe. Tekst umieszczony między tymi znakami zostanie zinterpretowany tak samo, jak zawartość pliku. Oznacza to między innymi, że w tekście klauzuli inline należy wstawiać nowe wiersze w tych samych miejscach, w których występowałyby w pliku tekstowym, naciskając klawisz Enter podczas wpisywania skryptu. Liczba kolumn jest zdefiniowana w pierwszej linii.<br><br>format-spec ::= ( fspec-item {, fspec-item } )<br><br>Na specyfikację formatu składają się pozycje specyfikacji formatu podane w nawiasach jako lista. Więcej informacji zawiera temat [Elementy specyfikacji formatu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptSpecifiers/format-specification-items.htm). |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)resident | Klauzula resident umożliwia załadowanie danych z wcześniej załadowanej tabeli.<br><br>table label to etykieta poprzedzająca instrukcję LOAD, która utworzyła pierwotną tabelę. Na końcu etykiety musi się znajdować dwukropek.<br><br>[Ładowanie danych z wcześniej załadowanej tabeli](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)<br><br>[Etykiety tabeli](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/table-labels.htm) |
| extension | Dane można ładować z połączeń analitycznych. Należy użyć klauzuli extension, aby wywołać funkcję zdefiniowaną we wtyczce rozszerzeń po stronie serwera (SSE) albo dokonać oceny skryptu.<br><br>Do wtyczki SSE można wysłać pojedynczą tabelę i zostanie zwrócona pojedyncza tabela danych. Jeśli wtyczka nie określa nazw pól, które są zwracane, wówczas pola otrzymają nazwy Field1, Field2 itd.<br><br>Extension pluginname.functionname( tabledescription );<br><br><ul><li><p>Ładowanie danych za pomocą funkcji we wtyczce SSE </p><p><span>tabledescription ::= (table { ,tablefield} )</span></p><p>Jeśli pola tabeli nie zostaną określone, wówczas pola będą używane w kolejności ładowania.</p></li><li><p>Ładowanie danych poprzez ocenę skryptu we wtyczce SSE</p><p><span>tabledescription ::= ( script, table { ,tablefield} )</span></p></li></ul><br><br>Sposób obsługi typów danych w definicji pola tabeli<br><br>Typy danych są automatycznie wykrywane w połączeniach analitycznych. Jeśli dane nie zawierają żadnych wartości liczbowych, a zawierają co najmniej jeden ciąg znaków inny niż NULL, wówczas takie pole jest traktowane jako tekstowe. W każdym innym przypadku jest traktowane jako liczbowe.<br><br>Typ danych można wymusić, umieszczając nazwę pola w funkcji String() lub Mixed().<br><br><ul><li>Funkcja <span>String()</span> wymusza traktowanie pola jako tekstowego. Jeśli pole jest liczbowe, wówczas wyodrębniana jest część tekstowa wartości podwójnej — nie jest wykonywane żadne przekształcenie.</li><li>Funkcja <span>Mixed()</span> wymusza traktowanie pola jako podwójnego.</li></ul><br><br>Funkcje String() i Mixed() nie mogą być używane poza definicjami pola tabeli w klauzuli extension, a ponadto w definicji pola tabeli nie można używać innych funkcji Qlik Sense.<br><br>Więcej informacji na temat połączeń analitycznych zawiera repozytorium GitHub. [qlik-oss/server-side-extension](https://github.com/qlik-oss/server-side-extension) |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)where | where to klauzula określająca, czy rekord ma być uwzględniony w selekcji, czy też nie. Selekcja jest uwzględniana, jeśli warunek criterion ma wartość True.<br><br>criterion jest wyrażeniem logicznym. |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)while | while to klauzula określająca, czy rekord ma być wielokrotnie odczytywany. Ten sam rekord będzie odczytywany, dopóki warunek criterion ma wartość True. W praktyce korzystanie z klauzuli while zwykle wymaga również użycia funkcji IterNo( ).<br><br>criterion jest wyrażeniem logicznym. |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)group by | Klauzula group by służy do określania pól, według których dane mają być agregowane (grupowane). Pola agregujące powinny być w jakiś sposób dołączone w ładowanych wyrażeniach. Poza obrębem funkcji agregacji w ładowanych wyrażeniach wolno używać wyłącznie pól agregujących.<br><br>groupbyfieldlist ::= (fieldname { ,fieldname } ) |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/RegularStatements/Load.htm)order by | Klauzula order by służy do sortowania rekordów tabeli rezydentnej przed ich przetworzeniem przez instrukcję load. Tabelę rezydentną można sortować według dowolnej liczby pól w kolejności rosnącej lub malejącej. Sortowanie jest wykonywane w pierwszej kolejności według wartości liczbowej, a w drugiej kolejności według porządku leksykograficznego z uwzględnieniem znaków diakrytycznych. Klauzuli można używać tylko wtedy, gdy źródłem danych jest tabela rezydentna.<br><br>Pola porządkujące określają, według którego pola należy sortować tabelę rezydentną. Pole można wskazać nazwą lub numerem w tabeli rezydentnej (pierwsze pole ma numer 1).<br><br>orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] }<br><br>Kolejność sortorder może mieć wartość asc (rosnąco) lub desc (malejąco). Jeśli nie określono sortorder, przyjmuje się wartość asc.<br><br>fieldname, path, filename i aliasname to ciągi tekstowe reprezentujące odpowiednio nazwę pola, ścieżkę, nazwę pliku i alias. Jako fieldname można podać dowolne pole z tabeli źródłowej. Pola utworzone klauzulą as (aliasname) są jednak poza zakresem i nie można ich używać w tej samej instrukcji load. |

## Dowiedz się więcej

* [Add](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/Prefixes/Add.htm)
* [Replace](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartLevelScripting/Prefixes/Replace.htm)