Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola, tengo la siguiente tabla en donde me falta completar los valores nulos, y quisiera que me quede como la segunda, el relleno de los registros faltantes tiene que ser por fecha y producto!
Muchas gracias!!
Fecha | Producto | Costo | Fecha | Producto | Costo | |
1/1/2019 | A | 50 | 1/1/2019 | A | 50 | |
1/1/2019 | B | 70 | 1/1/2019 | B | 70 | |
2/1/2019 | A | NULL | 2/1/2019 | A | 50 | |
2/1/2019 | B | NULL | 2/1/2019 | B | 70 | |
3/1/2019 | A | NULL | 3/1/2019 | A | 50 | |
3/1/2019 | B | NULL | 3/1/2019 | B | 70 | |
4/1/2019 | A | NULL | 4/1/2019 | A | 50 | |
4/1/2019 | B | NULL | 4/1/2019 | B | 70 | |
5/1/2019 | A | 80 | 5/1/2019 | A | 80 | |
5/1/2019 | B | 100 | 5/1/2019 | B | 100 | |
6/1/2019 | A | NULL | 6/1/2019 | A | 80 | |
6/1/2019 | B | NULL | 6/1/2019 | B | 100 | |
7/1/2019 | A | NULL | 7/1/2019 | A | 80 | |
7/1/2019 | B | NULL | 7/1/2019 | B | 100 | |
8/1/2019 | A | NULL | 8/1/2019 | A | 80 | |
8/1/2019 | B | NULL | 8/1/2019 | B | 100 | |
9/1/2019 | A | NULL | 9/1/2019 | A | 80 | |
9/1/2019 | B | NULL | 9/1/2019 | B | 100 | |
Hola @LucilaLiendoA
Puedes probar con la siguiente formula, usando previous y peek:
Table:
load * Inline [
Fecha, Producto, Costo
1/1/2019, A, 50
1/1/2019, B, 70
2/1/2019, A,
2/1/2019, B,
3/1/2019, A,
3/1/2019, B,
4/1/2019, A,
4/1/2019, B,
5/1/2019, A, 80
5/1/2019, B, 100
6/1/2019, A,
6/1/2019, B,
7/1/2019, A,
7/1/2019, B,
8/1/2019, A,
8/1/2019, B,
9/1/2019, A,
9/1/2019, B,
];
NoConcatenate
CompletarTabla:
LOAD
Producto,
Fecha,
if(Producto=previous(Producto) and (isnull(Costo) or len(Costo)=0),peek(CostoFinal),Costo) as CostoFinal,
Costo
RESIDENT Table order by Producto, Fecha asc;
drop table Table;
muchas gracias!!! me funcionó super bien!