Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

IF com TextBetween

Olá, tenho um campo a ser tratado com Textbetween e nele tenho assuntos, sendo eles:
-Cancelamento,
-QuerCancelamento,

-QuerDarNota,

Agradecimento.

Meu código TextBetween(resource_uri, '#', '') trás esses assuntos, quero que:
Quando TextBetween(resource_uri, '#', '') for igual a 'Cancelamento' me traga 'Negativo'
Quando TextBetween(resource_uri, '#', '') for igual a 'QuerCancelamento' me traga 'Negativo'

Quando TextBetween(resource_uri, '#', '') for igual a 'QuerDarNota' me traga 'Posivito'

Quando TextBetween(resource_uri, '#', '') for igual a 'Agradecimento' me traga 'Positivo'

Tentei fazer assim IF(TextBetween(resource_uri, '#', '') = 'AgradecimentoOperador', 'Positivo')

Mas quero agrupar todos os Positivos e Negativos em suas respectivas colunas Positivo e Negativo e dentro delas os novos assuntos alterados para Positivo e Negativo. Mas apenas consegui trazer um registro em cada coluna, quero dois positivos na coluna Positivo e dois na coluna Negativo.

1 Solution

Accepted Solutions
rodrigo_damas
Partner - Contributor II
Partner - Contributor II

A primeira linha do inline é, por padrão o nome do campo, então ele estava entendendo que o nome do campo era Cancelamento e Negativo, e não entendendo como o dado em si.

tenta colocar assim:

Negat:

Mapping LOAD * INLINE

[

De, Para

Cancelamento, Negativo

QuerCancelamento, Negativo

MausTratosParaOperador, Negativo

AtendimentoRuim, Negativo

];

Já quando for aplicar o Mapping, se não quer trazer o que não for negativo, coloque o "padrão"  como NULL()

Ex:

ApplyMap('Negat', TextBetween(resource_uri, '#', ''), Null()) as Negativo

View solution in original post

7 Replies
el_aprendiz111
Specialist
Specialist

Kaleb buenas tardes

tienes datos de ejemplo para ayudarte.

saludo,

Clever_Anjos
Support
Support

Construa um mapa com todas suas substituições

Mapa:

Mapping load * inline [

     De, Para

Cancelamento, Negativo

QuerCancelamento, Negativo

QuerDarNota, Positivo

];

Depois use com o resultado do seu TextBetween

Applymap('Mapa',TextBetween(resource_uri, '#', '')) as Campo

Not applicable
Author

O meu campo 'Negativo' esta me retornando todos os assuntos, até mesmo os positivos e nem mesmo mudou as nomenclaturas de Cancelamento para Negativo.
O que estou fazendo de errado?
Tentei o Applymap depois do Mapping Load e na imagem abaixo tentei dentro do LOAD da tabela.

algoerrado.jpg

rodrigo_damas
Partner - Contributor II
Partner - Contributor II

A primeira linha do inline é, por padrão o nome do campo, então ele estava entendendo que o nome do campo era Cancelamento e Negativo, e não entendendo como o dado em si.

tenta colocar assim:

Negat:

Mapping LOAD * INLINE

[

De, Para

Cancelamento, Negativo

QuerCancelamento, Negativo

MausTratosParaOperador, Negativo

AtendimentoRuim, Negativo

];

Já quando for aplicar o Mapping, se não quer trazer o que não for negativo, coloque o "padrão"  como NULL()

Ex:

ApplyMap('Negat', TextBetween(resource_uri, '#', ''), Null()) as Negativo

rodrigo_damas
Partner - Contributor II
Partner - Contributor II

Só não entendi o motivo de você ter um campo específico para Negativo só com dados de Negativo...

Você poderia colocar todas as opções no Mapping, como sugeriu o Clever, com todas as possibilidades de retorno para a expressão: TextBetween(resource_uri, '#', '')

Not applicable
Author

Então eu preciso demonstrar em um gráfico de barras, a QTD de Assuntos Negativos e Positivos, praticamente vou dar um count de registros dentro de cada um deles. Só preciso separar os assuntos e coloca-los em suas respectivas colunas/campos.

rodrigo_damas
Partner - Contributor II
Partner - Contributor II

Entendi, desse jeito que falei vai funcionar...

Coloca só o null() como padrão no applyMap e depois coloca count(Negativo)

ai para o Positivo a mesma coisa.

Unica coisa é que vão ser 2 campos que daria para fazer em um só, ai no grafico você colocaria como dimensão esse campo do applymap

mas das 2 formas irá funcionar