7 Replies Latest reply: Jul 26, 2011 12:55 PM by rodrigo silvestre RSS

    formula

    rodrigo silvestre

      Olá,

       

      Alguem teria alguma ideia de como resolver isso?

       

       

      imagem_teste.png

      preciso resolver aquelas formulas no qlikview...   @1 = valor do cod 1 ....

       

      logo (@1 + @2 - @3) / 100      = ( 10+ 10 - 10) / 100...

        • formula

          Bom Dia,

           

          Você pode realizar o tratamento direto no seu script.

           

          Ex.:

           

          AUX:
          LOAD *
          INLINE [
              COD, DESC, VLR
              1, CTBA, 10
              2, FOZ, 10
              3, PATO, 10
              4, JOIN, 10
              5, FLORI, 10
              6, PR, 0
              7, SC, 0
          ];

           

          TABLE:
          LOAD
               COD,
               DESC,
               IF(COD <> 6 AND COD <> 7, VLR,
                 IF(COD = 6, (PEEK('VLR', 0, 'AUX') + PEEK('VLR', 1, 'AUX') - PEEK('VLR', 2, 'AUX')) / 100,
                   IF(COD = 7, PEEK('VLR', 3, 'AUX') * PEEK('VLR', 4, 'AUX') ) ) )  AS VALOR
          RESIDENT AUX;

           

          DROP TABLE AUX;

          • Re: formula
            Aderlan Rodrigues

            Olá RSilvestre,

             

            Seguinte, carrega os dados usando Mapping.

             

            Valores:

            Mapping

            LOAD '@'&Cód as CodFormula, Valor

            FROM [Valores.xlsx]

            (ooxml, embedded labels, table is Plan1);

             

            Formulas:

            LOAD '@'&Código as CodFormula,

                MapSubString('TrataValores',Formula) as NovaFormula,

                Evaluate(MapSubString('Valores',Formula)) as Resultado

            Resident Valores

            Where Formula <> '';

             

            Assim o resultado será uma coluna com os devidos valores substituidos.

            Ex: Cód: 6 = (10+10-10)/100 = 0,1

             

            Bem atento a função Evaluate, pois sem ela, o resultado é considerado texto, usando essa função, ele faz o calculo para você.

             

            Abraço.