FINDSET/Loop or New Dataitem?

In a report, from a performance point of view: is it better to create a local variable in a dataitem, apply filters and loop through it to get certain values, or create a separate dataitem to collect these values?

If the values you want to get are sum which need to be calculated, the best way is to use query as an object if you want to get the best performance. If it's another value ... it's pretty much the same