Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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...
KILOS | para calcular el precio final | PRECIO FINAL | RANGO KILOS | PRECIO | ||
2 | el mayor de 2*1 o 2*1,2 | 2,4 | 0-50 | 1 | ||
75 | el mayor de 75*1,2 o 75*1,5 | 112,5 | 50-100 | 1,2 | ||
100-500 | 1,5 |
Gracias por anticipado
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
Hola Galvan,
No acabo de entender bien lo que pretendes: 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...
porque en tu ejemplo pq 2 Kilos lo multiplicas por 2 rangos?
Saludos,
Hola Jordi. 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. Se que es raro pero esto se suele utilizar en empresas logisticas para no penalizar sus beneficios por pedido ya que al aumentar el rango el precio por rango va disminuyendo
Ok,
De cuantos rangos dispones?
Aproximadamente unos 10 Jordi
Hola,
Y el intervalo de los rangos siempre es el mismo? es decir la diferencia en todos es siempre la misma?
(en este caso sería 50)
0-50
50-100
100-150
Saludos,
Galvan,
Como no sé exactamente como tienes montado el proyecto te adjunto un link el cual te puede ayudar, sobre todo con las calses de grupos para que puedas multiplicar el precio y decidir el que mas te convenga.
http://community.qlik.com/message/258160#258160
Espero que te ayude,
Saludos,
Hola Jordi, gracias por adelantado. El rango es siempre este...
Hasta 25 kg |
de 26 a 50 kg |
de 51 a 100 kg |
de 101 a 200 kg |
de 201 a 500 kg |
de 501 a 1.000 kg |
de 1.001 a 2.000 kg |
de 2.001 a 4.000 kg |
de 4.001 a 6.000 kg |
de 6.001 a 8.500 kg |
de 8.501 a 12.000 kg |
de 12001 a 17000 kg |
mas de 17.000 kg |
Hola,
Te adjunto el script de como lo podrias hacer. Luego ya en una Pivot te haces los cálculos que necesites. Para multiplicar el siguiente rango, sumale 1 al ID Rango.
Test:
LOAD * Inline [
Minimo, Maximo, Rango, ID Rango, Precio
0, 25, 0-25,1,19
26, 50, 26-50,2,18
50, 100, 50-100,3,16
100,200, 100-200,4,14
200,500, 200-500,5,12
500,1000, 500-1000,6,10
];
Datos:
LOAD * Inline [
Kilos, Cliente
55, ClienteA
5, ClientebB
155, ClienteC
683, ClienteD
200, ClienteE
300, ClienteF
85, ClienteG
115, ClienteH
180, ClienteI
260, ClienteJ
];
Left join(Datos)
Intervalmatch(Kilos)
LOAD Minimo, Maximo
RESIDENT Test;
Left join (Datos)
LOAD * resident Test;
drop table Test;
Saludos,
Gracias Jordi por tu ayuda pero no me cuadra... Me sale algoi como asi: Si te das cuenta por ejemplo para 5 coge el ranfo 0-25 pero no el siguiente tambien que seria 26-50..
Perdona por la lata pero no me aclaro...