7 Replies Latest reply: Sep 22, 2014 1:16 PM by Luciano Vasconcelos RSS

    Acumular valores via Script

    odair goncalves

      Pessoal, boa tarde!!!

       

      Estou com uma dificuldade na criação de um campo acumulado com valores dos últimos 3 meses durante a carga.

       

      Preciso ter a quantidade de uma determinada filial e produto dos últimos 3 meses, incluindo o mês atual, ou seja valores do Mês atual + 2 meses anteriores.

       

      Hoje estes valores nos gráficos é tabelas do app eu consigo esta informações com set analysis, como os cálculos são complexos esta causando uma lentidão muito grande. Estou transformando todos os cálculos durante a carga e estou apanhando um pouco nesta parte.

       

      Pra facilitar estou anexando um  QVW e o QVD.

       

      Alguém pode me ajudar.

       

      Grato,

       

      Odair

        • Re: Acumular valores via Script
          Aderlan Rodrigues

          Olá Odair,

           

          Tô meio corrido agora, mas esse exemplo da ajuda (F1) do QlikView pode lhe ser útil, abraço.

           

          peek(nomedocampo [, linha [ , nomedatabela ] ] )

          Retorna o conteúdo do nomedocampo no registro especificado por linha na tabela interna nomedatabela. Os dados são lidos da base de dados associada do QlikView.

          O nomedocampo deve ser fornecido como string (por exemplo, um literal entre aspas).

          Linha deve ser um inteiro. 0 indica o primeiro registro, 1 indica o segundo e assim por diante. Os números negativos indicam a ordem a partir do final da tabela. -1 indica o último registro lido.

          Se nenhuma linha for definida, -1 será assumido.

          Nomedatabela é um rótulo de tabela, consulte Rótulos da Tabela, sem os dois-pontos finais. Se nenhum nomedatabela for definido, a tabela atual será assumida. Se usado fora do comando load ou em referência a outra tabela, o nomedatabela deve ser incluído

          Exemplos:

          peek( 'Vendas' )
          retorna o valor de Vendas na leitura do registro anterior (equivale a previous(Vendas)).

          peek( 'Vendas', 2 )
          retorna o valor de Vendas a partir do terceiro registro lido na tabela interna atual.

          peek( 'Vendas', -2 )
          retorna o valor de Vendas a partir do segundo registro lido na tabela interna atual.

          peek( 'Vendas', 0, Tab1 )
          retorna o valor de Vendas a partir do primeiro registro lido na tabela de entrada Tab1.

          Load A, B, numsum( B, peek( 'Bsum' ) ) as Bsum...;
          cria um acumulado de B em Bsum.