An expression uses aggregation functions to aggregate a record set, so it's kind of a loop, iterating over each record.
But you probably are looking for something else.
There are no functions / statements to create a loop like you can do in the script, but maybe you can hack QV using ValueLoop() inside an aggregation function:
Actually I have posted something last time and I did not get any response on the topic:
I need to calculate the Erlang C as per the link below:
6. Calculate the Erlang-C formula
I am stuck on this 1.
Maybe you could transfer your loop to a macro-function like described here: https://community.qlik.com/blogs/qlikviewdesignblog/2014/10/03/teaching-the-load-script-new-tricks#comment-21495 from Barry Harmsen.