Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas,
Tengo el siguiente problema y no encuentro la solución
Tengo dos tablas. La primera con producto y kilos y un precio final que tengo que calcular y la segunda con un intervalos de kilos y precio final.
¿como puedo enlazar ambas tablas para calcular el precio final de la primera tabla? El problema lo tengo para meter el rango de killos en el script
PRODUCTO | KILOS | PRECIO FINAL |
A | 232 | 1 |
B | 5300 | 3 |
C | 600 | 2 |
RANGO KILOS | PRECIO FINAL |
1-500 | 1 |
500-4000 | 2 |
>4000 | 3 |
Gracias por adelantado...
Hola Galvan,
Seguramente ya hayas descartado la siguiente opción pero, por si acaso, y dada su sencillez la expongo por si a alguien le sirviera.
Como opción se puede hacer en el script, aprovechando para dar a cada producto un rango asociado.
Por ejemplo:
Rangos:
Mapping LOAD * INLINE [
Rango, Precio
'1-500', 1
'500-4000', 2
'>4000', 3
];
Producto:
LOAD *, ApplyMap('Rangos',Rango,'N/A') As Precio;
LOAD *, If(Kilos<=500,'1-500',If(Kilos>4000,'>4000',If(Kilos <= 0, '0','500-4000'))) As Rango;
LOAD * INLINE [
Producto, Kilos
A, 232
B, 5300
C, 600
];
La tabla resultante:
Producto Kilos Rango Precio
A 232 1-500 1
B 5300 >4000 3
C 600 500-4000 2
Saludos.
Hola Galvan:
Creo que puedes utilizar el prefijo IntervalMatch para enlazar ambas tablas asignando un valor a un intervalo, pero ese intervalo debe estar construido en dos campos de inicio y fin del rango de kilos, por lo que debes separarlos en la creación de la tabla.
El siguiente enlace te puede ayudar para implementar la asociación de tablas. Aunque está diseñado con fechas, el uso del rango con kilos puede ser muy similar.IntervalMatch
Espero que te sea útil.
Un saludo
Hola Galvan,
Seguramente ya hayas descartado la siguiente opción pero, por si acaso, y dada su sencillez la expongo por si a alguien le sirviera.
Como opción se puede hacer en el script, aprovechando para dar a cada producto un rango asociado.
Por ejemplo:
Rangos:
Mapping LOAD * INLINE [
Rango, Precio
'1-500', 1
'500-4000', 2
'>4000', 3
];
Producto:
LOAD *, ApplyMap('Rangos',Rango,'N/A') As Precio;
LOAD *, If(Kilos<=500,'1-500',If(Kilos>4000,'>4000',If(Kilos <= 0, '0','500-4000'))) As Rango;
LOAD * INLINE [
Producto, Kilos
A, 232
B, 5300
C, 600
];
La tabla resultante:
Producto Kilos Rango Precio
A 232 1-500 1
B 5300 >4000 3
C 600 500-4000 2
Saludos.
Muchas gracias a ambos. Voy viendo algo de luz....