8 Replies Latest reply: Jul 10, 2016 2:26 PM by Clever Anjos RSS

    2 Tasks para 1 unico Qvw

    Renato Adolfs

      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

        • Re: 2 Tasks para 1 unico Qvw
          Alessandro Furtado

          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

          • Re: 2 Tasks para 1 unico Qvw
            Aderlan Rodrigues

            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.

            • Re: 2 Tasks para 1 unico Qvw
              Lucas Marsola

              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!

              • Re: 2 Tasks para 1 unico Qvw
                Yuri Nicolett

                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;

                • Re: 2 Tasks para 1 unico Qvw
                  Johnatan Guimaraes

                  @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!

                  • Re: 2 Tasks para 1 unico Qvw
                    Renato Adolfs

                    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

                    • Re: 2 Tasks para 1 unico Qvw
                      Clever Anjos

                      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