¿Por qué solo busca el último registro en lugar del último valor no nulo conocido? ¿Así es como se supone que funciona?
Avalados por :
¡Hola a todos!
Tengo un escenario en el que tengo una salida como
mes, año, semana, cantidad, monto
para cualquier registro, la cantidad y el monto son nulos
entonces necesito completar los valores del registro existente anterior para la cantidad y el monto
basado en la semana, mes, año
¿Cómo puedo hacerlo en la función de tabla?
¿Por qué solo busca el último registro en lugar del último valor no nulo conocido? ¿Así es como se supone que funciona?
Hola konrad
Gracias por tu respuesta
Supongamos que tengo un registro en diciembre de 2019 que tiene un valor nulo en el campo de cantidad
y su registro anterior que tiene algún valor está en noviembre de 2018
entonces
¿esta función de retraso podrá seleccionar ese registro de 2018 y completar todos los valores con ese valor de registro desde diciembre de 2018 hasta diciembre de 2019 para aquellos que tienen todos los valores nulos en el campo de cantidad?
Esta es mi requisito exacto para implementar en la función de tabla
Puedes combinar la función IFNULL (para verificar si el valor es nulo) con la función LAG (para obtener el último valor para la combinación de semana, mes, año), como se muestra aquí:
IFNULL(cantidad, LAG(cantidad) OVER (ORDER BY semana,mes,año)) AS cantidad,
IFNULL(monto, LAG(monto) OVER (ORDER BY semana,mes,año)) AS monto
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute