5 Replies Latest reply: Jun 6, 2018 3:12 PM by Cristiane Miamoto RSS

    Saldo

    Cristiane Miamoto

      Olá Comunidade!

       

      Preciso calcular o Saldo, Entrada e Saida no gráfico Qlikview por semana. Exemplo abaixo: Ano=2015 e Semana=1.

       

      Regras:

      Entrada: DataEntrada >=01/01/2015 and <=03/01/2015

      Saída: DataSaida >=01/01/2015 and <=03/01/2015

      Saldo: DataEntrada>=01/01/2012 and <=03/01/2015 and DataSaida: >03/01/2015 or ISNULL(DataSaida)

       

      Minha dúvida é qual campo uso na dimensão do gráfico para AGRUPAR por ano semana.

        • Re: Saldo
          Marco Otávio

          Olá Cristiane.

           

          Não entendi exatamente o que você precisa. Pode detalhar um pouco mais? Nos teus arquivos você tem apenas datas e Ids.

           

          Você precisa mostrar em um dia específico a quantidade que entrou e a quantidade que saiu?

            • Re: Saldo
              Cristiane Miamoto

              Preciso mostrar ENTRADA, SAIDA E SALDO numa semana específica.

              REGRAS:

              Count(ID_Entrada): DataEntrada >=01/01/2015 and <=03/01/2015

              Count(ID_Saída): DataSaida >=01/01/2015 and <=03/01/2015

              Count(ID_Saldo): DataEntrada>=01/01/2012 and <=03/01/2015 and DataSaida: >03/01/2015 or ISNULL(DataSaida)

                • Re: Saldo
                  Marco Otávio

                  Acho que entendi.

                   

                  Nesse caso você vai precisar usar uma técnica chamada Data Canônica ou Data Ponte.

                   

                  A ideia é bem simples: você vai ter uma tabela contendo todas as datas possíveis da sua aplicação, sendo essa o centro do modelo de dados. As tabelas Saldo, Entrada e Saída estarão relacionadas com essa Tabela através do campo data.

                   

                  Assim você poderá fazer usar um campo apenas para fazer a filtragem conforme precisa.

                   

                  Segue script possível.

                   

                  --------

                  ENTRADA:

                  LOAD

                  [Data Entrada]

                  ,[ID Entrada]

                  FROM [ENTRADA.xlsx]

                  (ooxml, embedded labels, table is TB07_20180530_122855);

                   

                  SAIDA:

                  LOAD

                  [Data Saida]

                  ,[ID Saida]

                  FROM [SAIDA.xlsx]

                  (ooxml, embedded labels, table is TB08_20180530_122953);

                   

                  SALDO:

                  LOAD

                  [Data Entrada] as [Data Saldo]

                  ,[ID Saldo]

                  FROM [SALDO.xlsx]

                  (ooxml, embedded labels, table is TB07_20180530_123734);

                   

                  CANONICA:

                  LOAD Distinct

                  [Data Entrada]

                  ,[Data Entrada] as data

                  Resident ENTRADA;

                   

                  Concatenate(CANONICA)

                  LOAD Distinct

                  [Data Saida]

                  ,[Data Saida] as data

                  Resident SAIDA;

                   

                  Concatenate(CANONICA)

                  LOAD Distinct

                  [Data Saldo]

                  ,[Data Saldo] as data

                  Resident SALDO;

                  --------


                  Outro método, dependendo da quantidade de dados que você irá ter, é juntar tudo numa tabela só e criar um tipificador. Como o script abaixo:

                   

                  --------

                  DADOS:

                  LOAD

                  [Data Entrada] as data

                  ,[ID Entrada] as id

                  ,'Entrada' as tipo_registro

                  FROM [ENTRADA.xlsx]

                  (ooxml, embedded labels, table is TB07_20180530_122855);

                   

                  Concatenate(DADOS)

                  LOAD

                  [Data Saida] as data

                  ,[ID Saida] as id

                  ,'Saida' as tipo_registro

                  FROM [SAIDA.xlsx]

                  (ooxml, embedded labels, table is TB08_20180530_122953);

                   

                  Concatenate(DADOS)

                  LOAD

                  [Data Entrada] as data

                  ,[ID Saldo] as id

                  ,'Saldo' as tipo_registro

                  FROM [SALDO.xlsx]

                  (ooxml, embedded labels, table is TB07_20180530_123734);

                  --------

              • Re: Saldo
                Pablo Labbe

                Conseguiu resolver sua dúvida ?