Por que apenas procura o último registro em vez do último valor não nulo conhecido? É assim que se supõe que funcione?
Avalados por :
Olá a todos!
Tenho um cenário em que tenho uma saída como
mês, ano, semana, quantidade, montante
para qualquer registro, a quantidade e o montante são nulos
então preciso preencher os valores do registro anterior existente para a quantidade e o montante
com base na semana, mês, ano
Como posso fazer isso na função de tabela?
Por que apenas procura o último registro em vez do último valor não nulo conhecido? É assim que se supõe que funcione?
Olá konrad
Obrigado pela sua resposta
Vamos supor que tenho um registro em dezembro de 2019 que tem um valor nulo no campo de quantidade
e seu registro anterior que tem algum valor está em novembro de 2018
então
essa função de atraso pode selecionar esse registro de 2018 e preencher todos os valores com esse valor de registro de novembro de 2018 até dezembro de 2019 para aqueles que têm todos os valores nulos no campo de quantidade?
Este é o meu requisito exato para implementar na função de tabela
Você pode combinar a função IFNULL (para verificar se o valor é nulo) com a função LAG (para obter o último valor para a combinação de semana, mês, ano), conforme mostrado aqui:
IFNULL(cantidad, LAG(cantidad) OVER (ORDER BY semana,mes,ano)) AS cantidad,
IFNULL(monto, LAG(monto) OVER (ORDER BY semana,mes,ano)) AS monto
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute