11 Replies Latest reply: Jul 22, 2013 3:48 PM by Mauricio Quintero RSS

Suma de columna en tabla pivotante

Miguel Angel Espinoza Torres

Saludos,

Tengo lo siguiente:

 

En una tabla pivotante con 2 dimensiones y 4 expresiones,

las dos primeras expresiones son valores de venta y presupuesto respectivamente.

 

Las dos ultimas expresiones son las diferencias, positivas y negativas, para lo cual

utilizo un (if) para determinar los + o -

 

if (Venta-Presupuesto<0,Venta-Presupuesto,0)

if (Venta-Presupuesto>0,Venta-Presupuesto,0)

 

El calculo lo realiza bien, pero al tener el total de la columna, este resultado no cuadra, no es el esperado.

 

De antemano gracias por la atencion prestada.

  • Re: Suma de columna en tabla pivotante
    Miguel Angel Baeyens

    Hola,

     

    Necesitarás utilizar la función Sum() alrededor del If()

     

    Sum(If([Venta] - [Presupuesto] < 0, [Venta] - [Presupuesto], 0))
    

     

    Asumiendo que tanto [Venta] como [Presupuesto] son las etiquetas de las expresiones, y de ahí que lleven corchetes.

     

    Espero que te sirva.

     

    Miguel

    • Re: Suma de columna en tabla pivotante
      Miguel Angel Espinoza Torres

      Saludos Miguel y muchas gracias por la atención.

       

      Te comento, efectivamente tanto [Venta] como [Presupuesto] son etiquetas,

      yo las tengo en corchetes en mi archivo .qvw

       

      Lo q me sugieres es una de las primeras acciones que realice,

      no me dio el resultado en el total, de echo se ponen valores "0" :

       

       

       

      SUM(

      if ([Venta]-[Presupuesto]>0,[Venta]-[Presupuesto],0)

      )

      --------------------

       

      Asi tengo mi expresion, considerando no usar los nombres de las etiquetas para obtener el resultado:

       

       

      SUM(

      if (sum(ValorVent)-sum(ValorPres)>0,sum(ValorVent)-sum(ValorPres),0)

      )

       

      -----------------------

       

      En el total de la columna obtengo la suma de todos, es decir tanto los positivos y negativos,

      cuando lo q requiero es que me sume positivos y negativos...

       

      Espero haberme explicado y agradeciendo la ayuda brindada.

      • Suma de columna en tabla pivotante
        Karl Pover

        Si el objeto es una tabla simple, ve a la pestaña de expresiones y en cada expresión cambia el modo de total a suma de filas en vez de expresión total.

         

        Saludos, Karl

        • Suma de columna en tabla pivotante
          Miguel Angel Espinoza Torres

          Saludos Karl,

           

          Gracias por responder el comentario; te comento q el resultado si lo obtengo en una tabla simple

          en las opciones de "Modo Totales" , el asunto pasa por q es una tabla pivotante, ya que una de sus

          colunas pasa a ser fila en el pivoteo.

           

          Te comento q es algo q no he podido resolver de hace unos dos dias, me gustaria saber

          si podre obtener la respuesta tal como lo estoy realizando o de pronto no es la manera correcta de plantearlo.

           

          De antemano muchas gracias y a la espera de alguna posible solucion o sugerencia.

           

          P.D.

           

          Donde yo trabajo se tiene una gran cultura hacia el analisis de los datos en tablas Pivotante

          Qlikview me parece una herramienta muy muy buena!!, por ello no pense dos veces en sugerir la

          su adquisicion en mi empresa.

           

          Por ahora se que estoy aun tanto limitado en el conocimiento, por eso me saque una una cuenta en este Community para aprovechar el conocimiento de la nube.

          • Suma de columna en tabla pivotante
            Karl Pover

            No se puede hacer un sum(sum(...)+sum(...)) y por eso te sale cero.  Para hacer el total sobre la suma de los detalles en una tabla pivote se puede usar la función aggr() en la siguiente manera:

             

            sum(aggr(

             

            if (sum(ValorVent)-sum(ValorPres)>0,sum(ValorVent)-sum(ValorPres),0)

             

            ,Articulo))

             

            Saludos, Karl

             

            • Suma de columna en tabla pivotante
              Miguel Angel Espinoza Torres

              Perfect!!!  Muchas gracias , esa es la solucion.

               

              Revisare mucho mas las funciones de agregaciones...

               

              Muchas Gracias.

              • Suma de columna en tabla pivotante
                Omar Landeo Quispe

                Yo estoy teniendo un caso similar podrian ayudarme...

                 

                La formula que estoy aplicando es

                Para el campo CARGO

                IF([WTS INV. AMOUNT] * 0.0025 < 100, 100, Sum([WTS INV. AMOUNT]*0.0025))

                La cual me muestra los valores correctos pero no lo suman.

                 

                Para el campo CARGO COMISION BCP

                Sum(Aggr(IF([WTS INV. AMOUNT] * 0.0025 < 100, 100, Sum([WTS INV. AMOUNT])*0.0025),PO))

                No esta realizando la suma correcta.

                 

                 

                imagen.JPG

                • Suma de columna en tabla pivotante
                  Karl Pover

                  Si quieres probar la condición por cada fila que vas sumando intenta:

                   

                  SUM(IF([WTS INV. AMOUNT] * 0.0025 < 100, 100, [WTS INV. AMOUNT]*0.0025))

                   

                  Karl

                  • Suma de columna en tabla pivotante
                    Omar Landeo Quispe

                    Yo lo he probado, lo que me dices, pero el valor se excede demasiado, en cambio los valores del campo "CARGO" son los correctos pero la suma total no es la correcta.

                    imagen02.JPG

                    • Re: Suma de columna en tabla pivotante
                      Karl Pover

                      Omar,

                       

                      si

                       

                      IF([WTS INV. AMOUNT] * 0.0025 < 100, 100, Sum([WTS INV. AMOUNT]*0.0025))

                       

                      funciona a nivel detalle peor no al nivel total la función de aggr() debe de funcionar para hacer el total.  Aunque PO sea el nivel más detallado prueba el aggr() con todas las dimensiones:

                       

                      sum(aggr(IF([WTS INV. AMOUNT] * 0.0025 < 100, 100, Sum([WTS INV. AMOUNT]*0.0025)),YEAR,MONTH,FACTOR,PO,WTS_INV,WTS_INV_DATE))

                       

                      A veces el aggr() se requiere un "nodistinct" osea sum(aggr(nodistinct ...)) para calcular los números correctamente.

                       

                      Karl

            • Re: Suma de columna en tabla pivotante
              Mauricio Quintero

              Excelente ejercicio, ahora como se saca la misma operación pero si fuera un % me explico, tengo una columna que quiero Dividir entre otra, la funcion Aggr funciona muy bien cuando quiero sumar, pero si quiero comparar:

               

              Ej:

               

              Ventas

              Presupuestos

              Crecimientos_Estimado

               

              1. La formula de ventas proyectadas es la venta por el crecimiento estimado

               

              Ventas*Crecimiento_Estimado = (100*10%) = 110, otro registro sería (105*5%)=110,25

               

              Esto se convierte en el presupuesto, es decir el registro uno da 110 y el registro dos da 110,25 el total da = 220,25 esto esta perfecto con el Aggr, pero si ahora quiero saber cuanto es el % de crecimiento total es decir el 220,25 / 205 =??? como saco la formula con el Aggr no funciona da cero y debería dar 7% (Promedio Ponderado de crecimiento)

               


              gracias!!!!!