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

Abreviar valor de uma coluna

Olá pessoal!

Tenho uma tabela x:

Diretoria a

Diretoria b

Diretoria c

Gerência y

Gerência z

Departamento A1

Departamento B5

Departamento X9

...

Quero criar outra coluna com o nome (Dir., Ger., Dept., etc) abreviado.

O replace só funciona com uma condição e preciso de várias.

Obrigado


1 Solution

Accepted Solutions
Thiago_Justen_

Assim talvez:

Pick(WildMatch(Nome,'Dir*','Ger*','Dep*'),'Dir.','Ger.','Dept.') & ' ' & SubField(Nome,Chr(32),2)  as Nome_Abreviado

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

View solution in original post

4 Replies
Thiago_Justen_

Assim talvez:

Pick(WildMatch(Nome,'Dir*','Ger*','Dep*'),'Dir.','Ger.','Dept.') & ' ' & SubField(Nome,Chr(32),2)  as Nome_Abreviado

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Boa noite Jamir;

Se for preciso aplicar esta tratativa em uma tabela com muitos registros...

Então uma forma performática de processar é os recursos: Prefixo Mapping e a função MapSubstring. Veja:

Map_DePara_ORG_Abrevia:

Mapping Load *

Inline [

De,Para

Diretoria,Dir.

Gerência,Ger.

Departamento,Dept.

];

Tab_Destino:

Load

     ORGANOGRAMA, //Seu campo

     MapSubstring('Map_DePara_ORG_Abrevia', ORGANOGRAMA) As 'Org. Abrev.', //Novo campo derivado e abreviado

     ... //Continuação do seu script

Referência: https://help.qlik.com/pt-BR/sense/3.1/Subsystems/Hub/Content/Scripting/MappingFunctions/MapSubstring...

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

Boa tarde, Mario!

Ainda tá faltando um detalhe, por exemplo, na coluna tem: Diretoria de Comunicação

então é preciso substituir Diretoria por Dir., mas ainda preciso do restante "de Comunicação"

Alguma sugestão?

jamirjunior
Creator
Creator
Author

Fiz assim:

Load 

Lotacao_Servidores_Ativos,

if(WildMatch(Lotacao_Servidores_Ativos,'DIRETORIA*','GERENCIA*','CIRET*','COMISSAO*','CONDOM*','COORDEN*','VAPT*'),

Pick(WildMatch(Lotacao_Servidores_Ativos,'DIRETORIA*','GERENCIA*','CIRET*','COMISSAO*','CONDOM*','COORDEN*','VAPT*'),'DIR.','GER.','CIR.','COM.','COND.','COORD.','VV.') &

IF(MID(Lotacao_Servidores_Ativos,1,4)='VAPT',MID(Lotacao_Servidores_Ativos,FindOneOf(Lotacao_Servidores_Ativos, Chr(32),3)),

MID(Lotacao_Servidores_Ativos,FindOneOf(Lotacao_Servidores_Ativos, Chr(32)))),Lotacao_Servidores_Ativos)  as Orgao_Abreviado

FROM...

tá funcionando, mas estou pensando em fazer uma subrotina, é possível fazer uma função no qlik para isso?