Load
Оператор LOAD загружает поля из файла, из определенных в скрипте данных, из ранее загруженной таблицы, из веб-страницы, из результата последующего оператора SELECT или путем создания данных. Также можно загружать данные из аналитических подключений.
Синтаксис:
LOAD [ distinct ] fieldlist
[( from file [ format-spec ] |
from_field fieldassource [format-spec]|
inline data [ format-spec ] |
resident table-label |
autogenerate size ) |extension pluginname.functionname([script] tabledescription)]
[ where criterion | while criterion ]
[order by orderbyfieldlist ]
Аргумент | Описание |
---|---|
distinct | Используйте distinct в качестве предиката, если необходимо загрузить только уникальные записи. При наличии повторяющихся записей будет загружен первый экземпляр. При использовании предыдущих загрузок поместите distinct в первый оператор LOAD, так как distinct затрагивает только таблицу назначения. |
fieldlist | fieldlist ::= ( * | field{, * | field } ) Список полей, которые необходимо загрузить. Символ * в качестве списка полей обозначает все поля таблицы. field ::= ( fieldref | expression ) [as aliasname ]Определение поля должно всегда содержать литерал, ссылку на существующее поле или выражение. fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )fieldname — это текст, идентичный имени поля в таблице. Обратите внимание, что для указания имени поля необходимо заключить его в прямые двойные кавычки или квадратные скобки, если имя содержит пробелы. Иногда имена полей явно недоступны. В таких случаях используется другая нотация: @fieldnumber представляет номер поля в табличном файле с разделителями. Он должен быть положительным целым числом с предшествующим символом «@». Нумерация всегда начинается с 1 и идет до числа полей. @startpos:endpos представляет начальную и конечную позиции поля в файле с записями фиксированной длины. Позиции должны быть положительными целыми числами. Двум числам должен предшествовать символ «@», и они должны быть разделены двоеточием. Нумерация всегда начинается с 1 и содержит число позиций. В последнем поле элемент n используется как конечная позиция.
expression может быть числовой или строковой функцией на основе одного или нескольких других полей в этой же таблице. Дополнительные сведения см. в справке по синтаксису выражений. |
from | Элемент from используется, если данные должны быть загружены из файла с помощью папки. При загрузке из файла в пространстве в Аналитика Qlik Cloud должен использоваться действительный путь. См. раздел Правила правильного указания путей к папкам пространства. file ::= [ path ] filename В Аналитика Qlik Cloud поддерживаются иерархические структуры папок, и на них можно ссылаться в пределах оператора. Примеры:
Для получения дополнительной информации и примеров см. раздел Загрузка файлов из пространств в Аналитика Qlik Cloud. |
from_field | from_field используется в случае, если данные должны быть загружены из ранее загруженного поля. fieldassource::=(tablename, fieldname) Поле — это имя ранее загруженных tablename и fieldname. format-spec ::= ( fspec-item {, fspec-item } )Спецификация формата состоит из списка нескольких элементов спецификации формата, заключенных в скобки. Для получения дополнительной информации см. раздел Элементы спецификации формата. Примечание к информацииfrom_field поддерживает только запятые в качестве разделителя списка для полей в таблицах. |
inline | inline используется в случае, если данные должны быть введены в скрипте, а не загружены из файла. data ::= [ text ] Данные, введенные с использованием предложения inline, должны быть заключены в специальные символы: квадратные скобки, двойные кавычки или обратные кавычки. Текст между ними интерпретируется так же, как и содержимое файла. Поэтому при вставке новой строки в текстовый файл ее также необходимо вставить в текст предложения inline, нажав клавишу «Ввод» при вводе скрипта. В простой встроенной загрузке количество столбцов определяется по первой строке. format-spec ::= ( fspec-item {, fspec-item } )Можно дополнительно настроить встроенную нагрузку, используя многие из тех элементов спецификации формата, которые доступны для других загруженных таблиц. Эти элементы указаны в квадратных скобках. Для получения дополнительной информации см. раздел Элементы спецификации формата. Для получения дополнительной информации о встроенных загрузках см. раздел Использование встроенных загрузок для загрузки данных. |
resident | Элемент resident используется в случае, если данные должны быть загружены из ранее загруженной таблицы. table label — это метка, предшествующая оператору(-ам) LOAD или SELECT, используемым для создания исходной таблицы. В конце метки должно быть указано двоеточие. |
autogenerate | autogenerate используется в случае, если данные должны быть автоматически созданы программой Qlik Sense. size ::= number Number — это целое число, обозначающее число создаваемых записей. В списке полей не должны присутствовать выражения, требующие данные из внешнего источника данных или ранее загруженной таблицы, пока вы не обратитесь к отдельному значению поля в ранее загруженной таблице с помощью функции Peek. |
where | where — предложение, которое используется для указания того, нужно ли включить запись в выборку или нет. Выборка включается, если элемент criterion имеет значение True. criterion — это логическое выражение. |
while | while — это предложение, используемое для указания необходимости повторного чтения записи. Эта же запись читается, если для элемента criterion указано значение True. Чтобы быть полезным, предложение while обычно должно содержать функцию IterNo( ). criterion — это логическое выражение. |
group by | group by — это выражение, используемое для определения полей данных для агрегирования (группировки). Поля агрегирования должны быть включены таким же образом в загруженные выражения. Вне функций агрегирования в загруженных выражениях могут использоваться только поля агрегирования. groupbyfieldlist ::= (fieldname { ,fieldname } ) |
order by | order by — это предложение, используемое для сортировки записей резидентной таблицы до их обработки оператором load. Резидентная таблица может быть отсортирована по одному или нескольким полям в возрастающем или убывающем порядке. Сортировка осуществляется первично по числовому значению и дополнительно в порядке соответствия национальных параметров. Это предложение может использоваться, только если источником данных является резидентная таблица. Поля упорядочения указывают поле для сортировки резидентной таблицы. Поле может быть указано по имени или по числу в резидентной таблице (первое поле имеет номер 1). orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] } sortorder имеет значение asc для сортировки по возрастанию или desc для сортировки по убыванию. Если sortorder не указан, используется asc. fieldname, path, filename и aliasname — это текстовые строки, представляющие подразумеваемые соответствующие имена. Любое поле в исходной таблице может использоваться в качестве fieldname. Однако поля, созданные с помощью предложения (aliasname), не рассматриваются и не могут использоваться внутри одного оператора load. |
Если источник данных не указан с помощью выражений from, inline, resident, предложения from_fieldextension или autogenerate, данные будут загружены из результата сразу после выполнения оператора SELECT или LOAD. Последующий оператор не должен иметь префикса.
Загрузка данных из ранее загруженной таблицы
Примеры:
Загрузка файлов из пространств в Аналитика Qlik Cloud
В Аналитика Qlik Cloud при загрузке данных из файла данных в рамках скрипта загрузки можно использовать оператор LOAD или вставить код QVS. В обоих случаях иерархические структуры папок могут быть упомянуты в операторе скрипта. Придерживайтесь правил по правильному указанию путей к папкам пространства. Кроме того, файл и все упоминаемые папки должны уже существовать в указанном местоположении. В противном случае перезагрузка завершится ошибкой.
Примеры: Ссылка на файл в пути верхнего уровня пространства
В этом примере загружается файл orders.csv из личного пространства. Файл не находится в определенной папке, а расположен в пути верхнего уровня в пространстве.
LOAD * FROM [lib://DataFiles/orders.csv];
Этот пример загружает файл orders.csv из общего, управляемого пространства или пространства данных. Имя пространства ― TeamSharedSpace. Файл не находится в определенной папке, а расположен в пути верхнего уровня в пространстве.
LOAD * FROM [lib://TeamSharedSpace:DataFiles/orders.csv];
Примеры: Ссылки на определенный пути к папке в пределах пространства
Этот пример загружает файл orders_Europe.csv из папки Orders By Region в личном пространстве.
LOAD * FROM [lib://DataFiles/Orders By Region/orders_Europe.csv];
Этот пример загружает файл orders_Europe.csv из папки Orders By Region в общем, управляемом пространстве или в пространстве данных. Имя пространства ― SalesSpace.
LOAD * FROM [lib://SalesSpace:DataFiles/Orders By Region/orders_Europe.csv];
Для получения дополнительной информации о том, как ссылаться на структуру папок пространства в скриптах загрузки, см. раздел Ссылка на структуру папок в пространстве при разработке приложений и скриптов.