Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
msludo
Contributor III
Contributor III

Erro ao gerar campo constante em consulta

Estou tentando criar um campo de valor constante para todos os registros de uma tabela, desta forma:

[minhatabela]:

load

PapelEmpresa;

select

'PARTICIPANTE' AS PapelEmpresa

from tabela;

Ao executar esse sql no oracle funciona corretamente, mas ao executar esse script no qlik, ocorre o seguinte erro:

Field 'PapelEmpresa' not found


Onde estou errando ou qual outra forma de se fazer isso no qlik?


7 Replies
jonaasramos
Explorer
Explorer

Você está tentando carregar um campo no Statement LOAD que não existe. O campo PapelEmpresa será o ALIAS da constante 'PARTICIPANTE'. Retire o PapelEmpresa do Load e deve rodar.

klaus_gibin
Partner - Contributor II
Partner - Contributor II

Faça assim:

[minhatabela]:

load

*,

'PARTICIPANTE' AS PapelEmpresa;

select

*

from tabela;

O comando está lendo todos os dados da tabela, e depois no Qlik criando o campo PapelEmpresa.

msludo
Contributor III
Contributor III
Author

O problema é que não posso utilizar LOAD *, pois estou renomeando todos os campos da tabela no load (e não no sql), além de criar campos chaves compostos para linkar com outras tabelas.

Thiago_Justen_

Lu,

O que o Klaus sugeriu resolverá seu problema. Diante do que você expôs, faça assim:

Exemplo de Query (os nomes dos campos devem ser editados conforme sua realidade);

SuaTabela:

Load

     campoA                             as campoAlfa,   

     campoB                             as campoBeta,         

     campoD                             as campoDelta

     'MINHA CONSTANTE'       as campoConstante;

Select

     campoA,   

     campoB,

     campoD

From SuaBase;

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
msludo
Contributor III
Contributor III
Author

O problema é que não posso utilizar LOAD *, pois estou renomeando todos os campos da tabela no load (e não no sql), além de criar campos chaves compostos para linkar com outras tabelas e outros campos derivados.

Tentei fazer isso mas não funcionou:


[minhatabela]:

load

a  as NOME,

b  as ID,

c as X,

b &'|'& c as CHAVE,

...,

PapelEmpresa;

select

a,

b ,

c ,

'CONTRATADO' AS PapelEmpresa

from tabela;

Field 'PapelEmpresa' not found

Thiago_Justen_

Faça assim:

[minhatabela]:

load

a  as NOME,

b  as ID,

c as X,

b &'|'& c as CHAVE,

...,

'CONTRATADO' AS PapelEmpresa;

select

a,

b ,

c

from tabela;

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Clever_Anjos
Employee
Employee

Se for oracle ou postgresql os nomes de campos passam como maiscula, tente assim

[minhatabela]:

load

PAPELEMPRESA;

select

'PARTICIPANTE' AS PapelEmpresa

from tabela;