Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Como eliminar caracteres do resultado de uma consulta

Boa tarde a todos.

Gostaria de um apoio para melhorar a apresentação dos dados de uma aplicação em um gráfico ou tabela no Sense.

Tenho algumas contas gerenciais no meu sistema que têm o seguinte formato: 00000-XXX-0000

Eu gostaria que nas aplicações estas contas, ao serem resultado de busca de alguma variável, retornassem apenas os dados a partir do sétimo caractere, conforme destacado em negrito acima.

Obrigado.

Gustavo.

1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Gustavo,

usa então o

mid(Campo,8, len(Campo) )

Este comando ira retirar as 7 primeiras posições do campo.

Você vai usar este comando no script de carga?   Fica melhor criar um campo sem o código. Dai você pode ter dois campos, um original e o outro sem código.


mid(Campo,8, len(Campo) )     as Novo_Campo

furtado@farolbi.com.br

View solution in original post

8 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Gustavo,

se os tamanhos forem fixos.....

mid( '00000-XXX-0000',7,8)   retorna    XXX-0000

então

mid( Campo,7,8)

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

se o tamanho for variavel e sempre tiver o - separando,

SubField( '00000-XXX-0000','-',2) & '-' & SubField( '00000-XXX-0000','-',3)

retorna  XXX-0000

então

SubField( Campo,'-',2) & '-' & SubField(Campo,'-',3)

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

ainda daria para usar o right() se forem tamanhos fixos

right( '00000-XXX-0000',8)

retorna   XXX-0000

então

right( Campo,8)

furtado@farolbi.com.br
Not applicable
Author

Alessandro,

Boa tarde.

Obrigado pela atenção.

Quando apliquei o “mid” parece parece que a alteração ocorreu apenas no valor de cada “conta” e a minha necessidade é de redimensionar o tamanho e o “nome” da própria conta, eliminando o gódigo inicial que no meu banco de dados é parte do nome que a variável retorna, conforme apresentado no recorte abaixo.

De: Alessandro Furtado

Enviada em: segunda-feira, 25 de julho de 2016 13:18

Para: Gustavo Souza <gustavo@consorciominafabrica.com.br>

Assunto: Re: - Como eliminar caracteres do resultado de uma consulta

<https://community.qlik.com/resources/images/palette-1004/headerLogo-1391206184624-QlikCommunity_logo.gif>

Not applicable
Author

Minha expressão é apenas: “Sum(Total)” para retornar o valor total de cada “conta gerencial” no período selecionado.

De: Gustavo de Paula (Consórcio Mina Fábrica)

Enviada em: segunda-feira, 25 de julho de 2016 13:40

Para: 'jive-1088998201-43vp-2-ndql@qliktech-public-v7.hosted.jivesoftware.com' <jive-1088998201-43vp-2-ndql@qliktech-public-v7.hosted.jivesoftware.com>

Assunto: RES: - Como eliminar caracteres do resultado de uma consulta

Alessandro,

Boa tarde.

Obrigado pela atenção.

Quando apliquei o “mid” parece parece que a alteração ocorreu apenas no valor de cada “conta” e a minha necessidade é de redimensionar o tamanho e o “nome” da própria conta, eliminando o gódigo inicial que no meu banco de dados é parte do nome que a variável retorna, conforme apresentado no recorte abaixo.

De: Alessandro Furtado

Enviada em: segunda-feira, 25 de julho de 2016 13:18

Para: Gustavo Souza <gustavo@consorciominafabrica.com.br <mailto:gustavo@consorciominafabrica.com.br> >

Assunto: Re: - Como eliminar caracteres do resultado de uma consulta

<https://community.qlik.com/resources/images/palette-1004/headerLogo-1391206184624-QlikCommunity_logo.gif>

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Gustavo,

usa então o

mid(Campo,8, len(Campo) )

Este comando ira retirar as 7 primeiras posições do campo.

Você vai usar este comando no script de carga?   Fica melhor criar um campo sem o código. Dai você pode ter dois campos, um original e o outro sem código.


mid(Campo,8, len(Campo) )     as Novo_Campo

furtado@farolbi.com.br
Not applicable
Author

Alessandro,

Seria muito criar um novo campo, como orientado.

Tentei fazer a criação direto no script mas não funcionou.

Segue abaixo a mensagem de erro:

Ocorreram os seguintes erros:

ErrorSource: Microsoft OLE DB Provider for SQL Server, ErrorMsg: 'mid' não é um nome da função interna reconhecido.

De: Alessandro Furtado

Enviada em: segunda-feira, 25 de julho de 2016 14:17

Para: Gustavo Souza <gustavo@consorciominafabrica.com.br>

Assunto: Re: - Como eliminar caracteres do resultado de uma consulta

<https://community.qlik.com/resources/images/palette-1004/headerLogo-1391206184624-QlikCommunity_logo.gif>

Not applicable
Author

Alessandro,

Apliquei na função, no próprio Hub e funcionou perfeitamente.

Obrigado.

Gustavo.

De: Gustavo de Paula (Consórcio Mina Fábrica)

Enviada em: segunda-feira, 25 de julho de 2016 14:32

Para: 'jive-1088998201-43vp-2-ndsn@qliktech-public-v7.hosted.jivesoftware.com' <jive-1088998201-43vp-2-ndsn@qliktech-public-v7.hosted.jivesoftware.com>

Assunto: RES: - Como eliminar caracteres do resultado de uma consulta

Alessandro,

Seria muito criar um novo campo, como orientado.

Tentei fazer a criação direto no script mas não funcionou.

Segue abaixo a mensagem de erro:

Ocorreram os seguintes erros:

ErrorSource: Microsoft OLE DB Provider for SQL Server, ErrorMsg: 'mid' não é um nome da função interna reconhecido.

De: Alessandro Furtado

Enviada em: segunda-feira, 25 de julho de 2016 14:17

Para: Gustavo Souza <gustavo@consorciominafabrica.com.br <mailto:gustavo@consorciominafabrica.com.br> >

Assunto: Re: - Como eliminar caracteres do resultado de uma consulta

<https://community.qlik.com/resources/images/palette-1004/headerLogo-1391206184624-QlikCommunity_logo.gif>