Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
aderlanrm
Partner - Specialist
Partner - Specialist

Expressão Regular (Regex) - QV11

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.

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Labels (4)
1 Solution

Accepted Solutions
aderlanrm
Partner - Specialist
Partner - Specialist
Author

Olá Cesar,

Obrigado pelo dica.

Já reinstalei o framework, fiz todas as atualizações e nada, agora vou ver se saiu algum release novo do QV11 e tentar instalar para ver se resolve, caso não encontre, vou desativar o Publish, talvez seja um problema dele.

Em último caso, reinstalo o server com uma versão anterior para ver o que acontece, melhor um versão velha funcionando do que atualização com problemas.

Mas o post original é sobre REGEX, se alguém souber como usar REGEX no QV sem ser por VBScript, favor avisar.

Grande abraço e obrigado a todos.

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)

View solution in original post

11 Replies
cesaraccardi
Specialist
Specialist

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

aderlanrm
Partner - Specialist
Partner - Specialist
Author

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

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
srchagas
Creator III
Creator III

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

aderlanrm
Partner - Specialist
Partner - Specialist
Author

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.

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
erichshiino
Partner - Master
Partner - Master

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

aderlanrm
Partner - Specialist
Partner - Specialist
Author

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.

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
cesaraccardi
Specialist
Specialist

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.

aderlanrm
Partner - Specialist
Partner - Specialist
Author

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.

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)