Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Como hacer un IF en una grafico Tabla Pivotante

Otra vez yo [:$]

Cuando me haga muy pesado, me parais los pies y dejo de preguntar

Tengo una Tabla pivotante que me muestra varios resultados por producto

Pedido, Vendido, Mermado, Devuelto, Sobrante

con los datos de Pedido, vendido y mermado, no tengo problemas ya que se llaman de forma diferente, por lo que con un:

Sum ("Cantidad pedido"),

Sum ("Cantidad Vendida"),

Sum ("Cantidad Mermada"),

Obtengo la informacion correcta

PEROOOOOO los datos: Devuelto, Sobrante, se llaman igual y "CANTIDAD" y dependen de otro campo que se llama TIPO, siendo el tipo 5= Devuelto y 3= Sobrante.

Para intentar obtener el resultado, he creado dos expresiones

Devuelto: If("TIPO"=5, Sum (CANTIDAD),0)

Sobrante: If("TIPO"=3, Sum (CANTIDAD),0)

Pero estas formulas solo me actuan si esta seleccionado el campo 5 o 3, y en ese caso, no puedo ver en la misma tabla el resto de campos, es decir: Pedido, Vendido, Mermado.

Uf que lio, no se si me he conseguido explicar

Creo que podria solucionarlo cambiando el Script y separando los campos, pero....

¿Se puede añadir algo a la formula en la expresion?

Gracias

7 Replies
mbernales
Contributor III
Contributor III

Hola Luis,

Provaste con hacer expresion con analisis de conjuntos:

Devuelto: If("TIPO"=5, Sum (CANTIDAD),0) -> SUM( {$<TIPO={5}> CANTIDAD}

Sobrante: If("TIPO"=3, Sum (CANTIDAD),0) -> SUM( {$<TIPO={3}> CANTIDAD}

Esto debería funcionar sin la necesidad de tener seleccionado el campo tipo.

Esto debes agregarlo a la tabla pivoteante como una expresion más.

Pruebalo y me cuentas si te sirve

Not applicable
Author

Gracias Manuel, estas en todo

Algo hago mal, pero ya me conoces y me puedo estar saltando incluso una coma

Devuelto: If("TIPO"=5, Sum (CANTIDAD),0) -> SUM( {$<TIPO={5}> CANTIDAD}

Si tras If("TIPO"=5, Sum (CANTIDAD),0) añado el signo - la formula no funciona, si se lo quito

> SUM( {$<TIPO={5}> CANTIDAD}

Me muestra en ROJO ({

Y CANTIDAD no me lo muestra en VERDE como si de un campo se tratara

Claro que nunca he trabajado con analisis de conjuntos

Perdona las preguntas, que posiblemente sean muy simples

Mañana revisare los manuales, y te cuento mas

Gracias otra vez

mbernales
Contributor III
Contributor III

Hola Luis,

Por acelerado se me paso este error

SUM( {$<TIPO={5}> CANTIDAD}

Esto debería ser

SUM( {$<TIPO={5}>} CANTIDAD)

El tema es el siguiente, el formato de un analisis de conjunto siempre debe estar entre corchetes { }. Por esto la primera expresion no funcionaba.

Pruebalo y me cuentas

Not applicable
Author

Perfecto Manuel

Muchas gracias, ahora si funciona y es mas, creo que los Analisis de conjunto, me abren un mundo de soluciones para otras aplicaciones

Fijate donde llega mi torpeza y desconocimiento, que estaba metiendo las DOS formulas, la normal y la de analisis de conjunto, eso añadido a la necesidad de CERRAR en su sitio el analisis {}, me ha costado un dia entero

PEROOOO insistir y tu ayuda han dado el resultado deseado

Gracias saludos y tienes una cerveza mas pagada cuando quieras

mbernales
Contributor III
Contributor III

Excelente Luis, sí algún día paso por españa te la cobro

Not applicable
Author

Hola, me he quedado ojiplatico con la solucion.

Me podeis explicar la expresion, no he trabajado nunca con analisis de conjuntos y como a luis creo que puede solucionarme muchos problemas que tengo con mis qliks.

Pd. si es necesario pagar mas cervezas..... se pagan

Saludos.

Miguel_Angel_Baeyens

Hola,

Sirva una pincelada, en el manual de referencia tienes más información en las páginas 384 en adelante. Un análisis de conjuntos básico es algo como

Sum({< Año = {2010}, Cliente = {'Empresa1'} >} Importe)


Lo que indicas a QlikView es que agregue el valor del campo Importe sólo en los casos en los que el registro tenga un valor Año = 2010 y Cliente = 'Empresa1'. Dada la lógica asociativa de QlikView, estos "Año" y "Cliente" no tienen por qué ser campos de un registro, sino valores posibles de una selección cualquiera.

El rendimiento del análisis de conjuntos comparado con un if, en cuanto hablas de cientos de miles de registros no tiene nada que ver, a favor del análisis de conjuntos.

No obstante, dinos un ejemplo de lo que querrías conseguir con análisis de conjuntos.

Un saludo.