Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
jamirjunior
Creator
Creator

Criar grupo em cima de campo descritivo

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!

1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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

furtado@farolbi.com.br

View solution in original post

14 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Jamir,

2017-01-10 15_38_24-QlikView x64 - [C__tmp_Montadora.qvw].png

furtado@farolbi.com.br
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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

];

furtado@farolbi.com.br
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, existe algumas opções caso queira manter registros;

  1. A mais fácil e com alguns riscos é acessar o arquivo Excel do usuário via rede. Onde a planilha poderá ser formatada e bloqueada para mitigar riscos no preenchimento, ex: células bloqueadas;
  2. Utilizar um formulário/tabela do Google Drive com as restrições devidas e acesso via Google Drive Desktop (Sync);
  3. Utilizar sistema de formulário web FormTools (free): http://www.formtools.org/
  4. Utilizar módulos de formulário e registros para CMS (Joomla | Drupal | Wordpress).
  5. Utilizar linguagem de programação para desenvolver um pequeno sistema de 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

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
maiconmello
Creator III
Creator III

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 !

jamirjunior
Creator
Creator
Author

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

nicolett_yuri

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

jamirjunior
Creator
Creator
Author

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

jamirjunior
Creator
Creator
Author

Alguma sugestão ?

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

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

furtado@farolbi.com.br