Load
Em um contexto de modificação de gráfico, a instrução LOAD carrega dados adicionais no hipercubo a partir de dados definidos no script ou de uma tabela anteriormente carregada. Também é possível carregar dados de conexões analíticas.
Sintaxe:
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 ]
Argumentos:
Argumento | Descrição |
---|---|
fieldlist | fieldlist ::= ( * | field{, * | field } ) Uma lista dos campos a serem carregados. O uso de * como lista de campos indica todos os campos da tabela. field ::= ( fieldref | expression ) [as aliasname ]A definição de campo deve conter sempre um literal, uma referência a um campo existente ou a uma expressão. fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )fieldname é um texto idêntico a um nome de campo da tabela. Observe que o nome do campo deverá estar entre aspas duplas ou colchetes se contiver espaços, por exemplo. Às vezes, os nomes de campo não estão explicitamente disponíveis. Assim, uma notação diferente será usada: @fieldnumber representa o número de campo em um arquivo de tabela delimitado. Deve ser um inteiro positivo, precedido de “@”. A numeração sempre inicia no número 1 até o número de campos. @startpos:endpos representa as posições inicial e final de um campo em um arquivo com registros de comprimento fixo. As posições devem ser inteiros positivos. Os dois números devem ser precedidos de "@" e separados por dois-pontos. A numeração sempre inicia no número 1 até o número de posições. No último campo, n é usado como posição final do campo.
expression pode ser uma função numérica ou uma função de string baseada em um ou vários outros campos da mesma tabela. Para obter mais informações, consulte a sintaxe das expressões. |
inline | inline será usado se os dados precisarem ser digitados no script, e não carregados de um arquivo. data ::= [ text ] Os dados inseridos por uma cláusula inline devem ser colocados entre aspas duplas ou colchetes. O texto entre esses elementos será interpretado da mesma maneira que o conteúdo de um arquivo. Portanto, no local em que uma nova linha for inserida em um arquivo de texto, você também deverá inseri-la no texto de uma cláusula inline, isto é, pressionando a tecla Enter ao digitar o script. O número de colunas é definido pela primeira linha. format-spec ::= ( fspec-item {, fspec-item } )A especificação do formato consiste em uma lista de vários itens de especificação de formato, entre colchetes. Para obter mais informações, consulte Itens de especificação de formato. |
resident | resident é usado se for necessário carregar dados de uma tabela anteriormente carregada. table label é um rótulo que precede o comando LOAD que criou a tabela original. O rótulo deve ter dois-pontos no final. |
extension | É possível carregar dados de conexões analíticas. Você precisa usar a cláusula extension para chamar uma função definida no plug-in SSE (Server-Side Extension) ou avaliar um script. Você pode enviar uma única tabela ao plug-in SSE, e uma única tabela de dados é retornada. Se o plug-in não especificar os nomes dos campos que são retornados, os campos serão nomeados como Field1, Field2, e assim por diante. Extension pluginname.functionname( tabledescription );
Manipulação de tipos de dados na definição de campo de tabela Tipos de dados são detectados automaticamente em conexões analíticas. Se os dados não tiverem valores numéricos e pelo menos uma string de texto não NULL, o campo será considerado texto. Em qualquer outro caso, ele será considerado numérico. Você pode forçar o tipo de dados envolvendo um nome de campo com String() ou Mixed().
String() ou Mixed() não podem ser usados fora de definições de campo de tabela extension, e você não pode usar outras funções Qlik Sense em uma definição de campo de tabela. Você pode ler mais sobre conexões analíticas no repositório GitHub. qlik-oss/server-side-extension |
where | where é uma cláusula utilizada para declarar se um registro deve ou não ser incluído na seleção. A seleção será incluída se criterion for True. criterion é uma expressão lógica. |
while | while é uma cláusula usada para declarar que um registro deve ser lido repetidamente. O mesmo registro será lido se criterion forTrue. Para que possa ser útil, a cláusula while normalmente deve incluir a função IterNo( ). criterion é uma expressão lógica. |
group by | group by é uma cláusula usada para definir os campos de agregação (agrupamento) dos dados. Os campos de agregação devem ser incluídos de alguma maneira nas expressões carregadas. Nenhum outro campo diferente desses poderá ser usado fora das funções de agregação nas expressões carregadas. groupbyfieldlist ::= (fieldname { ,fieldname } ) |
order by | order by é uma cláusula usada para classificar os registros de uma tabela residente antes de seu processamento pela declaração load. A tabela residente pode ser classificada por um ou mais campos, em ordem ascendente ou descendente. A classificação é feita, principalmente, pelo valor numérico e, em seguida, pela ordem nacional de colação. Essa cláusula somente poderá ser usada quando a fonte de dados for uma tabela residente. Os campos de classificação especificam por qual campo a tabela residente é classificada. O campo pode ser especificado por seu nome ou número na tabela residente (o primeiro campo é o número 1). orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] } sortorder é asc para ascendente ou desc para descendente. Se nenhuma sortorder for especificada, asc será assumido. fieldname, path, filename e aliasname são strings de texto que indicam o que seus respectivos nomes implicitamente representam. Qualquer campo na tabela de origem pode ser usado como fieldname. No entanto, campos criados por meio da cláusula (aliasname) estão fora de escopo e não podem ser usados dentro de uma mesma declaração load. |