Skip to main content
Announcements
SYSTEM MAINTENANCE: Thurs., Sept. 19, 1 AM ET, Platform will be unavailable for approx. 60 minutes.
cancel
Showing results for 
Search instead for 
Did you mean: 
carlosac
Creator II
Creator II

INTERVALOS

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

   

PRODUCTOKILOSPRECIO FINAL
A2321
B53003
C6002

   

RANGO KILOSPRECIO FINAL
1-5001
500-40002
>40003

Gracias por adelantado...

1 Solution

Accepted Solutions
alex_millan
Creator III
Creator III

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.

View solution in original post

3 Replies
ssanchez
Partner - Contributor III
Partner - Contributor III

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

alex_millan
Creator III
Creator III

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.

carlosac
Creator II
Creator II
Author

Muchas gracias a ambos. Voy viendo algo de luz....