11 Replies Latest reply: Jun 13, 2012 12:15 AM by Aderlan Rodrigues RSS

    Expressão Regular (Regex) - QV11

    Aderlan Rodrigues

      Bom dia Pessoal,

       

      Alguém ai usa ou já tentou usar expressões regulares no QlikView 11, rodando no Server?

       

      Eu encontrei na comunidade código em VBScript que adicionam funcionalidades de Regex no QV, porém, essa funcionalidades só rodam na versão Desktop do QV, preciso fazer isso rodar nos agendamentos do Server, ou seja, publicar o arquivo no servidor e ser atualizado a cada 30 minutos.

       

      No script tem, por enquanto, 6 expressões regulares, mas serão pelo menos 15 ou mais...

       

      Pensei em usar o agendador do windows, com parametro /r, como também achei aqui na comunidade, porém ficou travado em execução infinita, sem dar mensagem de erro, por horas, o que também acontece quando publico o QVW no Server e faço o agendamento pelo QlikView Server.

       

      Agradeço muito se alguém souber uma alternativa a isso, já tentei o mesmo resultado com funções de texto do próprio QV, mas é quase impossível em algumas expressões.

       

      Grande abraço.

        • Expressão Regular (Regex) - QV11
          Cesar Accardi

          Fala Aderlan,

           

          Eu ouvi falar que existe uma opção no QVS que permite habilitar execução de macro no servidor, não lembro agora em qual aba tem essa configuração mas dá uma olhada lá que eu acho que tem como rodar.

           

          Abraços

            • Expressão Regular (Regex) - QV11
              Aderlan Rodrigues

              Grande Cesar!

               

              Obrigado pela resposta, segui os passos do artigo, mas o comportamente continua o mesmo.

              O Server fica rodando em infinito, sem erros e na tela, como diz no artigo, ao clicar no botão, nada acontece.

              O curioso que o segundo agendamento é de um QVW que não tem macro, talvez fique em infinito também devido ao QVW anterior... Como se o servidor estivesse ocupado...

              No QVW que tem as expressões regulares leva ~15 segundos para executar na versão desktop!

               

              Segue tela para vocês darem uma olhada!

              QlikView Server - Task run infinity.png

                • Expressão Regular (Regex) - QV11
                  Cesar Accardi

                  Olá Aderlan,


                  Eu ouvi falar que este comportamento de ficar rodando infinitamente pode ser um bug da versão SR1. Não tenho como te afirmar isto com certeza, você verificou no log da tarefa naquela opção "Show task details"? Lá aparece também a data de término da execução... comigo aconteceu uma vez de aparecer que a task estava rodando e no log já tinha a data de término da execução.

                   

                  Abraços.

                    • Expressão Regular (Regex) - QV11
                      Aderlan Rodrigues

                      Olá Cesar,

                       

                      Anexei o Log no post anterior, lá no "Show Task..." fica aparecendo a linha abaixo de tempos em tempos até ser interrompido, já deixei 24horas rodando, sem sucesso.

                      Se for bug da SR1 vou ter que voltar versão ou esperar a próxima, já reinicei servidor, joguei um pouco de sal grosso e outras coisas comuns na nossa área quando toda a lógica falha! Rsrsrsrs... Sem sucesso.

                       

                      (2012-06-11 18:01:59) Information: Loading. LoadTime=00:02:04.7220000

                      (2012-06-11 18:03:00) Information: Loading. LoadTime=00:03:05.5620000

                      (2012-06-11 18:04:00) Information: Loading. LoadTime=00:04:06.4020000

                      (2012-06-11 18:05:01) Information: Loading. LoadTime=00:05:07.2420000

                       

                      Grato pela ajuda, grande abraço.

                • Re: Expressão Regular (Regex) - QV11
                  Thiago das Chagas cunha

                  Boa Tarde Amigo

                   

                  Você na configuração tentou colocar um tempo maximo para time out? se ficar tentando demais

                   

                   

                  Bom aqui fazemos esquema de arvores, Carrega 1, quando tem sucesso carrega os outros, será que esse  esquema nao te ajuda?

                   

                  Acho que assim você consegue descobrir o cara que tá em Loop e da uma olhada o EventView do Servidor se nao tem nada lá.

                   

                  timeout.png

                    • Re: Expressão Regular (Regex) - QV11
                      Aderlan Rodrigues

                      Olá Thiago,

                       

                      Obrigado pela resposta.

                       

                      O timeout é importante, mas no meu caso preciso executar Expressões Regulares (REGEX) no servidor, já fiz as configurações que o Cesar passou e não funcionou, então agendei a execução de outros QVW e eles também ficam executando a infinito, igual aos QVW que tem as expressões.

                       

                      Ainda aguardo resposta do suporte sobre o que pode ser... Nenhuma resposta até agora!

                       

                      Abraço.

                        • Re: Expressão Regular (Regex) - QV11
                          Erich Shiino

                          Aderlan,

                          Você chegou a habilitar os logs para ver em que ponto o server está travado na carga?

                          Acredito que as configurações do server sejam mais para o caso de macros disparadas na interface, não sei se a mesma configuração habilitará o vbs que é chamado no seu script.

                           

                          Não sei exatamente a complexidade do seu vbs, talvez fosse possível reproduzí-lo com loops em script convencional do QlikView

                           

                          Abs,

                           

                          Erich

                            • Re: Expressão Regular (Regex) - QV11
                              Aderlan Rodrigues

                              Olá Erich,

                               

                              Os erros gerados estão anexos, até onde vi são os mesmos.

                               

                              Não há complexidade, há indisponibilidade do recurso, ao menos até onde conseguir descobrir.

                               

                              Preciso usar Expressões Regulares (REGEX: http://pt.wikipedia.org/wiki/Express%C3%A3o_regular) no QlikView, o que até onde descobri só é possível através do VBScript ou JavaScript.

                               

                              Segue código:

                              Function RegExTest(iString, Pattern, IgnoreCase)

                              ' Returns TRUE if Pattern can be matched to iString   

                               

                              ' iString: string, the input string to search in

                              ' Pattern: string, the regular expression pattern to search for

                              ' IgnoreCase: boolean, indicates if search should be case-sensitive

                               

                                set RE = New RegExp

                                RE.Pattern = Pattern

                                RE.IgnoreCase = IgnoreCase

                                RegExTest = RE.Test(iString)

                               

                              End Function

                               

                              Obrigado pela resposta, abraço.