Utilizar alias en una colección

Estaba realizando un ForAll() en una colección, pero al realizar un filtro para sumar el campo costo, no me tomaba el valor del ThisRecord() en la condición del Filter() y tomaba todos los registros para realizar la sumatoria.

Clear(nueva_coleccion);

ForAll(
    mi_coleccion,
    Collect(nueva_coleccion,
        {
        Campo1: ThisRecord.Empleado,
        Campo2: ThisRecord.Nombre,
        Campo3: ThisRecord.Email,
        Campo4: Sum(ForAll(Filter(mi_coleccion, Empleado=ThisRecord.Empleado),Costo),Value)
        }
    );
);

La solución fue utilizar el alias en mi_coleccion:

Clear(nueva_coleccion);

ForAll(
    mi_coleccion AS mi_alias,
    Collect(nueva_coleccion,
        {
        Campo1: mi_alias.Empleado,
        Campo2: mi_alias.Nombre,
        Campo3: mi_alias.Email,
        Campo4: Sum(ForAll(Filter(mi_coleccion, Empleado=mi_alias.Empleado),Costo),Value)
        }
    );
);


Publicar un comentario

Artículo Anterior Artículo Siguiente