Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas.
Tengo una tabla que contiene los siguientes campos:
- Entidad (campo clave)
- Fecha
- Fechacreacion
- SaldoInicial
- Gasto
- Ingreso
- ....
Mi intención es que en la carga de datos se genere un nuevo campo con el saldo. Lo estoy intentando hacer de la siguiente forma:
TablaFinal:
LOAD
Entidad,
Fecha,
Fechacreacion,
Gasto,
Ingreso,
if(date(Fecha)=date(Fechacreacion),SaldoInicial-Gasto+Ingreso,
if(date(Fecha)>date(Fechacreacion), peek(saldo,-1)-Gasto+Ingreso)) as saldo
resident CUENTAS_MOVIMIENTOS
order by Entidad, Fecha asc;
Las premisas son:
- Si la fecha coincide con la fecha de creación de la cuenta lo calcule así: saldo = SaldoInicial-Gasto+Ingreso
- Si la fecha es posterior a la fecha de creación de la cuenta lo calcule tomando como referencia el saldo anterior - Gastos + Ingeso.
El problema es que con el código que he generado me entra en una especie de bucle infinito. ¿Quien puede ayudarme?
Un saludo.
Hola, he probado el código con algunos datos de ejemplo y en mi caso todo funciona bien sin bucles infinitos. Probablemente habrá algún problema con la fuente de datos o el master calendar a la hora de comparar fechas. En algún momento el script finaliza o falla? Se genera una clave sintética? 🤔
Hola, he probado el código con algunos datos de ejemplo y en mi caso todo funciona bien sin bucles infinitos. Probablemente habrá algún problema con la fuente de datos o el master calendar a la hora de comparar fechas. En algún momento el script finaliza o falla? Se genera una clave sintética? 🤔