Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

2 Tasks para 1 unico Qvw

Boa tarde.

Preciso que um único QVW seja atualizado em dois momentos diferentes.

Durante a madrugada, eu faço um tratamento X, preparando a carga de um front comercial. As 12:30 eu faço um outro tratamento Y (arquivos diferentes), preparando uma carga incremental para este mesmo front comercial.

Este front comercial é atualizado diariamente no término deste tratamento X e eu gostaria de atualizá-lo também quando o tratamento Y terminar seu reload.

Alguém consegue me ajudar, por favor?

Obrigado pela atenção,
Renato Adolfs

Labels (1)
8 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

No QlikServer tem uma task por QVW.  Na realidade é uma pequena heranca do Publisher. Este sim (Publisher) pode ter varias task...

Acredito que a melhor saida para voce seria usar o EDX. Neste caso externamente podes chamar varias vezes dentro da sua necessidade.

community.qlik.com/docs/DOC-2650

furtado@farolbi.com.br
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Renato,

Também há a possibilidade de dividir em camadas.

E1.qvw executando de madrugada com seus devidos tratamentos e gerando os devidos QVDs.

E2.qvw executando as 12h30 com seus devidos tratamentos e também gerando QVDs que pode ser os mesmos ou complementares ao modelo.

FrontComercial.qvw sendo executado a cada 8 horas, começando as 00h00 o que dará 3 vezes por dia, ou a cada 6 horas, que executará 4 vezes por, ou seja, encaixa uma frequência que dará uma atualização a cada vez que o E1 e o E2 já tiver feito o trabalho.

Espero que seja útil, abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (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)
Anonymous
Not applicable
Author

Bom dia Renato!

Onde trabalho, precisávamos de algo parecido e também enviar relatórios automaticamente por e-mail logo após a recarga.

Como não possuímos ainda o Publisher, construi uma ferramenta em Java que controla toda a recarga, geração de relatórios e envio por e-mail, portanto tenho o total controle da recarga e acredito que atenderia o que você precisa.

Se tiver interesse, por favor, entre em contato!

nicolett_yuri

Como já informaram, a melhor solução seria com o Publisher. Outras opções:

  • Separação das cargas em aplicações diferentes para agendamentos diferentes
  • Agendamento através do Windows Scheduler
  • Adicionar um IF em seu script 

Em relação ao IF: se for determinado horário executa essa parte, caso contrário não.

Assim você consegue agendar esse qvw de hora em hora e dependendo do horário ele vai executar uma parte do script, em outro horário outra parte e outros horário simplesmente não vai executar script algum.

Exemplo básico:

IF vHoraDeterminadaScript1 = Hour(Now) THEN

//executa essa parte do script

ENDIF;

IF vHoraDeterminadaScript2 = Hour(Now) THEN

//executa essa outra parte do script

ENDIF;

Anonymous
Not applicable
Author

@Renato , não sei se entendi direito, mas eu consegui resolver algo semelhante ao que esta com duvida.

É o seguinte:

  • Na recarga normal que roda na task de madrugada eu programei para rodar com recarga full todo dia ás 3:00.
  • Na recarga incremental eu fiz em uma parte no script onde eu adiciono/removo/modifico os dados de uma tabela ápartir de uma recarga parcial usando o comando IsPartialReload()

Segue exemplo:

  • Essa parte faz a recarga full  normalmente todos os dias de madrugada.

[TB_META]:

LOAD Operação &'|'& Serviço &'|'&  Indicador CHAVE_OPERACAO_SERVIÇO,

    Operação &'|'& '-' &'|'&  '-'  as CHAVE_OPERACAO_SERVIÇO_1,

    Indicador,

    Operação as Operacao_Meta,

    Serviço as Servico_Meta,

    G1,

    G2,

    G3,

    G4,

    G5,

FROM

Caminho Meta Faturamento Faturamento *.xlsx

(ooxml, embedded labels, table is Plan1);

  • Essa parte faz a recarga parcial á qualquer hora do dia ou dependendo da regra que deseja que seja adicionada.

IF IsPartialReload() THEN


Atendidas:

ADD LOAD

Operação &'|'& '-' &'|'& '-'  as CHAVE_OPERACAO_SERVIÇO_1,

      [NS 20s] as Nivel_Serviço,

    [Chamadas Atendidas] as Chamadas_Atendidas

FROM

[Caminho Receptivo *.xls]

(biff, embedded labels, table is Sheet1$);

END IF

Assim eu consigo fazer uma recarga full com os dados que temos d-1 normalmente mais os dados da tabela que adicionei na recarga parcial

Observação: Foi um exemplo que fiz correndo no Qlik para usar como exemplo para te mostrar um jeito de se fazer, os dados são imaginarios.

Se conseguiu entender fico feliz. Ahoy!

Not applicable
Author

Bom dia.

Obrigado pela ajuda.

Acabei optando por executar de 8 em 8 horas e um IF validando o horário. Até o momento, está atendendo perfeitamente, porém vou procurar saber um pouco mais a respeito do EDX.

Atenciosamente,

Renato Adolfs

aderlanrm
Partner - Specialist
Partner - Specialist

Maravilha Renato,

Lembre de marcar as respostas úteis e a correta para ajudar outras pessoas a também encontrar as respostas.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (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)
Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada