6 Replies Latest reply: Jun 26, 2013 3:08 PM by victor montero RSS

    Suma Condicional

      Hola amigos como estan... les cuento que estoy buscando la manera de tener en una formula de SUMAR pero que tenga un condicional de un campo ligado a otro campo, me explico:

       

      Sumar un numero de registros con una condicion específica, en terminos de formula sería algo asi:

       

      =sum({$<Per_Largo= {'APUAM'},FABRICANTES={'COMPAQ'},SEGMENTOS={'COMPUTADORES'},Cod_Identificador={'APA'}>} VALOR)

       

      con esta formula intento sumar todas las ventas de un fabricnate específico para un periodo específico y con un codigo de indentificación específico.

       

      ahora esto funciona muy bien de esta manera, pero mi pregunta es como hago para hacer la misma formula pero que no este sujeta a un valor FIJO constante sino a un valor que varíe de acuerdo a una selección de filtros, es decir reemplazar por ejemplo FABRICANTES={'COMPAQ'} por FABRICANTES=Seleccion_Fabricante.

       

      me podrían por favor ayudar... gracias!!!!

        • Re: Suma Condicional
          victor montero

          Buenos días Mquinbui2,

           

          Crea una variable en Configuraciones en Panel de Variables

           

          V_Fabricantes = FABRICANTES

           

          y la formula quedaría.

           

          =sum({$<Per_Largo= {'APUAM'},FABRICANTES={$(V_Fabricantes)},SEGMENTOS={'COMPUTADORES'},Cod_Identificador={'APA'}>} VALOR)

           

          Pero en general si pones la función

           

          =sum({$<Per_Largo= {'APUAM'},SEGMENTOS={'COMPUTADORES'},Cod_Identificador={'APA'}>} VALOR)

           

          Sin Fabricante, Qlikview lo va a relacionar todos los fabricantes por la naturaleza de la herramienta, en cuanto seleccione un Fabricante lo relacionaría y así con varios fabricantes.

           

          Puedes poner una pantalla con lo que se requiere, o son tablas islas o cual sería el problema para que no relacionará la

          columna con la formula.

           

          Espero te sirva.

            • Re: Suma Condicional

              Hola Manuel, mcuhas gracias por tu respuesta... te comento lo que hice:

               

              1. En el panel de Formulas cree una variable que le asigne el valor del Seleccion_Fabricantes, si tu lo monitoreas con la opción de =Seleccion_Fabricantes te arroha el valor que necesito, solo 1 y es el que resulta de mi selección.

               

              2. En el panel lo puse como V_Fabricante= Seleccion_Fabricante (que es un campo en una tabla paralela)

               

              3. EN la formula de sumar, encontre que :

                   1. Tengo dos tablas, una que me maneja los Fabricantes Competencia (funciona como de configuración)

                   2. UNa que me maneja las ventas de todos los fabricantes. (Es la gran Base)

              4. En la formula estoy poniendo el condicional, lo que pasa es que el campo FABRICANTES pertenece a la tabla grande y el valor que asigne a la variable V_Fabricantes pertenece a la tabla pequeña.

              5. la formula quedo como tu me indicas, y si bien , monitoreo la variable (esta OK con el dato) en la formula me sale en cero como si no sumara nada.

               

              No se porque será...

              • Re: Suma Condicional

                Te explico la estructura de las tablas:

                 

                1. Tabla de Ventas, tiene Pais, Canal, Region, Fabricante y ventas

                2. Tabla de Competidor_Pais tiene, Pais, Competidor_P

                3. Tabla de Competidor_Pais_Canal tiene, Pais, Canal y Competidor_C

                4. Tabla de Copetidor_Detallado tiene Pais, Canal, Region, Competidor_D

                 

                si te das cuenta tengo tres tablas (2,3,4) que funcionan de configuración en Excel, en estas tablas tengo los mismos campos en donde la unica diferencia es el competidor que quiero ver, puede ser diferente, entonces las tablas funcionan asi:

                 

                Si yo selecciono n Pais, Canal, Región de la Tabla 1, el identifica que cumple con este criterio de selección y el detalle y me toma los datos que coincidan, en este caso los de la Tabla 4 y me trae el valor que esta en Competidor_D, si solo selecciono Pais, Canal, ya no busca la información en Tabla 4 porque salen muchos registros, entonces se va y valida la Tabla 3 y me trae el dat que esta en el campo Competidor_C pero si en el caso final, si solo selecciono el Pais, el identifica que la unica tabla que tiene dato unico es Tabla 2 y para ello me trae el dato que se encuentra en Competidor_P. al final si te das cuenta la seleccion de los filtros vs. el dato que leo de acuerdo a la tabla esta bien, ahora lo que pasa es que tengo que tomar el dato de ese Competidor_P, Competidor_C o Competidor_D segun sea la selección, esto funciona perfecto y el dato que quiero ver me lo lleva de manera perfecta a un campo de texto con la opción =Competidor_P si solo hay uno o Competidor_C si solo hay uno o Competidor_D si solo hay uno, esto lo logre con un Conficional anidado. ahora el tema es como hago para tomar este Competidor_P o C o D para compararlo con el FABRICANTE de la tabla 1 y que me sume el valor de las ventas. para esto estoy utilizando la formula que te comente y que muy amablemente me diste la respuesta, pero lo que pasa es que me sigue saliendo CERO la suma, pero si monitoreo la Variable me saca bien el dato, que podrá ser.???