Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
jamirjunior
Contributor

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


Tags (1)
1 Solution

Accepted Solutions
thiago_justen
Valued Contributor III

Re: Abreviar valor de uma coluna

Assim talvez:

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

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
4 Replies
thiago_justen
Valued Contributor III

Re: Abreviar valor de uma coluna

Assim talvez:

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

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
mario_sergio_ti
Valued Contributor

Re: Abreviar valor de uma coluna

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...

jamirjunior
Contributor

Re: Abreviar valor de uma coluna

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
Contributor

Re: Abreviar valor de uma coluna

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?