Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde Pessoal!
Minha tabela de MarcaModelo tem um campo descrição, exemplo:
HYUNDAI/HB20 1.0M 1.0 M
HYUNDAI/HB20 1.0M PREMIU
HYUNDAI/HB20 1.6A COMF
VW/GOL RALLYE SA
VW/GOL 1.8 POWER GIV
quero criar uma tabela com um grupo, exemplo:
HB20
GOL
Meu usuário já definiu esse grupo, 20 itens. O problema é a atualização da tabela origem, ou seja, eventualmente haverá novos itens, por isso, preciso fazer algo automático.
Qual a melhor forma de fazer na transformação? no painel? tabela inline?
Como fazer o link entre um valor e parte dele dentro de outro campo? No banco de dados poderia fazer usando o comando 'like', mas quero fazer no Qlik.
Obrigado!
Jamir,
você pode ir trabalhando as excessoes mais é secar gelo.....
O ideal seria tentar padronizar o cadastro ou ter algum tipo de campo que leve a uma tabela padronizada (tipo fipe).
Na impossibilidade, tentar ir resolvendo com IF ou fazer um depara / mapping.....
if(SubField(Campo,'/',1)<>'I',SubField(Campo,'/',1), SubField(Campo,'/',2)) as Montadora
Jamir,
Jamir,
eu usei inline para mostrar, mas podes usar um SELECT e no LOAD usar o subfield.....
LOAD
SubField(Campo,'/',1) as Montadora,
SubField(SubField(Campo,'/',2),' ',1) as Veiculo,
Campo;
LOAD * INLINE [
Campo
HYUNDAI/HB20 1.0M 1.0 M
HYUNDAI/HB20 1.0M PREMIU
HYUNDAI/HB20 1.6A COMF
VW/GOL RALLYE SA
VW/GOL 1.8 POWER GIV
];
Amigo, existe algumas opções caso queira manter registros;
Recomendações:
A opção 1 e 2 | Caso esteja com muita pressa ou contingência até efetivar outra solução | dados via arquivo;
Opção 3 | Solução específica de formulário web com controle de usuário e senha | dados via banco de dados;
Opção 4 | Caso queira um portal de conteúdo mais abrangente | dados via banco de dados;
Opção 5 | Caso tenha um time de desenvolvimento para aplicação personalizada | dados via banco de dados;
Minha sugestão se não sabe desenvolver sistemas e conhece pouco de SQL e CMS, Opção 3
Se desejar utilizar tudo no Qlik mesmo, poderá utilizar a função subfield() para organizar os grupos
Olá amigo, podes fazer assim, aonde tem a descrição, seria seu campo da base.
=left(SubField('HYUNDAI/HB20 1.0M 1.0 M','/',2),4)
Obs: Linha de raciocínio é similar a do Furtado, mas a dele é mais completa !
Funcionou para a maioria dos casos, obrigado!
Mas sabe como é informática, sempre tem exceções, olha essa:
DESC_MARCA_MODELO DESC_FABRICANTE DESC_MODELO
HYUNDAI/IX35 B HYUNDAI IX35 B
I/HYUNDAI IX35 IMPORTADO HYUNDAI IX35
I/HYUNDAI IX35 2.4 IMPORTADO HYUNDAI IX35 2.4
I/HYUNDAI IX35 2.0 IMPORTADO HYUNDAI IX35 2.0
HYUNDAI/IX35 HYUNDAI IX35
HYUNDAI/IX35 GL HYUNDAI IX35 GL
HYUNDAI/IX35 GLS HYUNDAI IX35 GLS
Jamir, os casos diferentes são sempre como esses:
Um caractere e depois a barra "/" ?
I/HYUNDAI IX35 IMPORTADO HYUNDAI IX35
I/HYUNDAI IX35 2.4 IMPORTADO HYUNDAI IX35 2.4
I/HYUNDAI IX35 2.0 IMPORTADO HYUNDAI IX35 2.0
Yuri, infelizmente não! veja esses casos (grupo=GOL):
VW/GOL CITY SC
I/VW GOL 1.6
VW/NOVO GOL 1.6 POWER
VW/NOVO GOL CITY MCV
Alguma sugestão ?
Jamir,
você pode ir trabalhando as excessoes mais é secar gelo.....
O ideal seria tentar padronizar o cadastro ou ter algum tipo de campo que leve a uma tabela padronizada (tipo fipe).
Na impossibilidade, tentar ir resolvendo com IF ou fazer um depara / mapping.....
if(SubField(Campo,'/',1)<>'I',SubField(Campo,'/',1), SubField(Campo,'/',2)) as Montadora