Load

A declaração LOAD carrega campos de um arquivo, de dados definidos no script, de uma tabela de entrada carregada anteriormente, de uma página da Web, do resultado de um comando SELECT subsequente ou gerando dados automaticamente.

Syntax:  

LOAD [ distinct ] fieldlist

[( from file [ format-spec ] |

from_field fieldassource [format-spec]

inline data [ format-spec ] |

resident table-label |

autogenerate size )]

[ where criterion | while criterion ]

[ group_by groupbyfieldlist ]

[order_by orderbyfieldlist ]

Arguments:  

Argumento Descrição
distinct distinct é um predicado usado se for necessário carregar apenas o primeiro dos registros duplicados.
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.

  • Se @startpos:endpos for seguido imediatamente pelos caracteres I ou U, os bytes lidos serão interpretados como um inteiro binário assinado (I) ou não assinado (U) (ordem dos bytes da Intel). O número das posições lidas deve ser 1, 2 ou 4.
  • Se @startpos:endpos for imediatamente seguido pelo caractere R, os bytes lidos serão interpretados como um número real binário (ponto flutuante IEEE de 32 ou de 64 bits). O número das posições lidas deve ser 4 ou 8.
  • Se @startpos:endpos for seguido imediatamente pelo caractere B, os bytes lidos serão interpretados como números BCD (Binary Coded Decimal), de acordo com o padrão COMP-3. Qualquer número de bytes pode ser especificado.

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.

as é usado para atribuir um novo nome ao campo.

from

from é usado se for necessário carregar dados de um arquivo.

file ::= [ path ] filename

  • absoluto

    Example: c:\data\

  • com relação ao caminho do documento QlikView.

    Example: data\

  • Endereço de URL (HTTP ou FTP) que aponte para uma localização na Internet ou em uma intranet. A URL deve ser codificada, por exemplo, se contiver caracteres de espaço.

    Example: http://www.qlik.com

    Example: http://www.enterprise.com/project%20files (http://www.enterprise.com/project files)

Quando o caminho for omitido, o QlikView procura o arquivo no diretório especificado pelo comando Directory. Se não houver nenhum comando Directory, o QlikView pesquisará o diretório de trabalho, que normalmente é o diretório que contém o arquivo QlikView.

Nota: Em uma instalação de servidor QlikView, o diretório de trabalho padrão é C:\ProgramData\QlikTech\Documents. O diretório de trabalho padrão pode ser modificado no QlikView Management Console.

O filename pode conter os caracteres curingas padrão do DOS ( * e ? ). Isso carregará todos os arquivos correspondentes no diretório especificado.

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.

Directory

From

from_field from_field é usado se for necessário carregar dados de um campo anteriormente carregado.

fieldassource::=(tablename, fieldname)

O campo é o nome de tablename e fieldname carregados anteriormente.

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.

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.

resident resident é usado se for necessário carregar dados de uma tabela anteriormente carregada.

table label é um rótulo que precede o comando LOAD ou SELECT que criou a tabela original. O rótulo deve ter um caractere de dois pontos no final.

Ao usar uma combinação de instruções de load distinct e resident no QlikView 12.00 ou posterior, a ordem de carregamento dos dados é diferente daquela no QlikView 11.20. Para definir uma ordem de carregamento desejada, adicione uma cláusula order by.

Carregando dados de uma tabela carregada anteriormente

Rótulos da tabela

autogenerate autogenerate será usado se for necessário gerar os dados automaticamente pelo QlikView.

size ::= number

Number é um inteiro que indica o número de registros a serem gerados. A lista de campos não deve conter expressões que exijam dados de uma base de dados. Somente constantes e funções sem parâmetros (como rand() ou recno()) são permitidas nas expressões.

extension

É possível carregar dados de conexões analíticas. É necessário usar a cláusula extension para chamar uma função definida no plug-in SSE (extensão no lado do servidor) ou avaliar um script.

Você pode enviar uma única tabela ao plug-in SSE, e uma única tabela de dados será retornada. Se o plug-in não especificar os nomes dos campos que são retornados, esses campos se chamarão Field1, Field2 e assim por diante.

Extension pluginname.functionname( tabledescription );

  • Carregamento de dados usando uma função em um plug-in SSE

    tabledescription ::= (table { ,tablefield} )

    Se você não declarar campos de tabela, esses campos serão usados na ordem de carregamento.

  • Carregamento de dados avaliando um script em um plug-in SSE

    tabledescription ::= ( script, table { ,tablefield} )

Tipos de dados são detectados automaticamente em conexões analíticas. Se os dados não tiverem valores numéricos e tiverem pelo menos uma string de texto diferente de 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() força o campo como texto. Se o campo for numérico, a parte de texto do valor duplo será extraída, e nenhuma conversão será realizada.
  • Mixed() força o campo como duplo.

Não é possível usar String() ou Mixed() fora de definições de campo de tabela extension. Também não é possível usar outras funções QlikView em uma definição de campo de tabela.

Para criar uma conexão analítica no QlikView Server ou no QlikView Desktop, consulte: Conexões analíticas

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 pelo comando 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 mesmo comando load.

Se nenhuma fonte de dados for fornecida por meio de uma cláusula from, inline, resident, from_field ou autogenerate, os dados serão carregados a partir do resultado do comando SELECT ou LOAD imediatamente posterior. O comando sucessivo não deverá ter prefixo.

precedente LOAD

Examples: