Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
Assim talvez:
Pick(WildMatch(Nome,'Dir*','Ger*','Dep*'),'Dir.','Ger.','Dept.') & ' ' & SubField(Nome,Chr(32),2) as Nome_Abreviado
Assim talvez:
Pick(WildMatch(Nome,'Dir*','Ger*','Dep*'),'Dir.','Ger.','Dept.') & ' ' & SubField(Nome,Chr(32),2) as Nome_Abreviado
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...
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?
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?