Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
carlosac
Creator II
Creator II

DOBLE CONDICION

Buenos dias.

Tengo el siguiente problema y no se como resolverlo. A modo de ejemplo seria algo asi:

Hay que calcular el precio final que es el resultado de :

Multiplicar kilos por el rango correspondiente en el que se encuentra , pero si el rango superior da un importe supeior , me tengo que quedar con este último es decir...

KILOSpara calcular el precio finalPRECIO FINALRANGO KILOSPRECIO
2el mayor de 2*1 o 2*1,22,40-501
75el mayor de 75*1,2 o 75*1,5112,550-1001,2
100-5001,5

Gracias por anticipado

16 Replies
sorrakis01
Specialist
Specialist

Hola,

En la tabla solo te sale el rango al que corresponde.

Si te creas una pivot o una straight le tendrás que crear expresiones que calculen lo que necesites (Precio * Kilos) en el caso del precio del siguiente rango (Precio * Kilos de su Rango ID + 1).

De todas maneras tal y como me lo explicaste ayer:

"Me piden que multiplique los kilos por el rango en que se encuentra y también por el siguiente rango y que de ambas cantidades de precio calculadas me quede con la mayor."

siempre será mayor el Primer rango (ya que se supone que multiplicas los mismo kilos?) y eso no lo acabo de entender o creo que no ha quedado claro para los demás. 

Si prefieres subir el ejemplo y lo miramos mejor....

Saludos,

carlosac
Creator II
Creator II
Author

Antes de nada gracias Jordi por tu paciencia. Te pongo un caso:

RANGO            PRECIO APLICABLE
0 A 51
6 A 100,5
10 A 152
16 A 203

CALCULO RANGO EN QUE SE ENCUENTRACALCULO RANGO SIGUIENTEAL FINAL
PARA 4 KG4*14*0,54>2 POR LO QUE ME QUEDO CON 4
PARA 7 KG7*0,57*23,5<14 POR LO QUE ME QUEDO CON 14
PARA 12 KG12*212*324<36 POR LO QUE ME QUEDO CON 36

Es decir por ejemplo 4kg se encuentra en el rando de [0 - 5]. Por eso multiplico 4*1 (que es el precio aplicable a este rango) y ahora hago 4 por el precio del rango siguiente , es decir 4*0.5 (que es el precio aplicable al rango siguiente). De ambos valores resultantes, es decir de 4*1=4 y de 4*0.5=2 me quedo con el 4 que es el precio mayor.

Para el siguiente caso, por ejemplo 7kg , que se encuentra en el rando de [6 - 10]. Por eso multiplico 7*2 (que es el precio aplicable a este rango) y ahora hago 7 por el precio del rango siguiente , es decir 7*2 (que es el precio aplicable al rango siguiente). De ambos valores resultantes, es decir de 7*0.5=3.5 y de 7*2=14 me quedo con el 14 que es el precio mayor.

No se si es mucho lio y espero que esta vez quede algo mas claro.

sorrakis01
Specialist
Specialist

Hola,

Tranquilo, pero ya te dije ayer lo que haría, partiendo de la base que es una opinión personal y seguro que hay otras maneras de hacerlo.  Con los datos que te pasé Tienes un ID Rango. Ese ID te sirve para saber en que rango te encuentras y cual es el siguiente (ID + 1). De la misma manera también sabes, gracias al Interval los kilos en que rango estan y que ID tienen junto a su precio.

Tienes que crearte una tabla o hacer lo que creas mas conveniente que te calculen los precios finales:

Ejemplo:

4 Kilos ---> Rango 0-5 ----> Precio Rango: 1 ---> Precio Rango1: 4 ---> Precio Siguiente Rango: (precio de ID+1 * Kilos) --> Con que me quedo: Si Precio Rango1 > Precio Siguiente Rango..........

Esto es lo que haría, dale una vuelta a ver que te parece.....

Saludos,

carlosac
Creator II
Creator II
Author

Hola Jordi, una ultima pregunta. Com le digo al sistema que me calcule Precio Siguiente Rango: (precio de ID+1 * Kilos))???

sorrakis01
Specialist
Specialist

Hola,

Para que no te lies, haz lo siguiente... añade el Precio del siguiente Rango en el INLINE como campo Precio2

Test: (Llámale Tabla de Rangos mejor)

LOAD * Inline [

Minimo, Maximo, Rango, ID Rango, Precio1,Precio2

0, 25, 0-25,1,19,18

26, 50, 26-50,2,18,16

50, 100, 50-100,3,16,14

100,200, 100-200,4,14,12

200,500, 200-500,5,12,10

500,1000, 500-1000,6,10,10

];

Así solo tendrás que multiplicar Kilos * Precio1 y Kilos * Precio2 para sacar el mejor precio de los 2.

Creo que es una solución más sencilla.

Ya me dirás que te parece y si te soluciona el problema. Es mucha mas sencillo.


Saludos

carlosac
Creator II
Creator II
Author

Gracias Jordi funciona correctamente . Gracias por todo de verdad y perdona las molestias. NO controlo demasiado y a veces me pierdo en este mundo....

sorrakis01
Specialist
Specialist

Tranquilo que yo estoy igual poco a poco....