3 Replies Latest reply: Apr 18, 2011 1:17 PM by Sergio Luis Cunha RSS

    Extração de texto de um registro com delimitador padrão

    Sergio Luis Cunha

      Boa tarde pessoal,

      Preciso extrair parte de um texto de um registro sendo carregado, sendo que este texto esta delimitado por um caracter padrão no caso "_" conforme exemplo abaixo:

      Registro vem assim: Parte1_Parte2

      Preciso extrair a Parte2 do registro e grava-lo em um campo separado.

      Estou usando a versão 10 do Qlikview e na ajuda não tem nada no topico de funções de caracteres, sei que é possivel, mas nao consigo no Qlikview.

      No Cache Sql por exemplo tem uma função chamada Piece(campo, separador,partedesejada) onde eu digo qual o separador e que coluna deve retornar, tem alguma função semalhante no Qlikview?

      desde ja obrigado.

        • Extração de texto de um registro com delimitador padrão

          Bom Dia,

          Você pode utilizar a seguinte estrutura:

          Right(vTeste, len(vTeste) - index(vTeste, '_'))

          vTeste: Correspode ao seu texto

          len(): retorna o tamanho do seu texto

          index(): Retorna a posição do caracter '_'

          Right(): Retorna a quantidade de caracteres contando da direita para a esquerda.

          Exemplo:

          vTeste = 'abc_123'

          len(vTeste) = 7

          index(vTeste, '_') = 4

          len(vTeste) - index(vTeste, '_') = 3

          Right(vTeste, len(vTeste) - index(vTeste, '_')) = '123' // Retorna as 3 ultimas posições da direita para a esquerda.

          • Extração de texto de um registro com delimitador padrão

            alem do conselho de Eduardo também pode usar no script:

            subfield(vdata, '_',2) as data

            o 2 indica que você quer a parte a direita do _

            se você quiser a parte a anterior ao _ troque o 2 por 1

            tchau

            • Extração de texto de um registro com delimitador padrão
              Sergio Luis Cunha

              Pessoal,

              Obrigado pela ajuda, esta ultima opção, o SUBFIELD() é exatamente igual ao comando do Cache que citei, eu sabia que tinha algo assim no qlikview mas na minha instalação da versão 10 o Help não esta 100% pois estes comandos não constam na minha base de ajuda, para ter uma ideia o comando Left e Right so aprecem como complemento do comando Join e não como a função de extrção esquerda e direita de textos, no topico Funções de caracter não tem nenhuma opão, fica tudo em branco...

              Alguem mais teve este problema com oHelp na versão 10 ? ou seja, percebeu a falta de mais alguma função ou comando dentro da base da ajuda?

              se alguem souber como consigo um arquivo de ajuda completo e em portugues, agradeço.