Criar query dinamicamente JasperSost

Boa tarde. Estamos fazendo relatórios utilizando JasperSoft e c#. Para fazê-los, utilizamos queries de consulta no banco de dados. Porém, dependendo de alguns relatórios, as queries ficam muito extensas.
Antigamente eu trabalhava com Ireport e lembro que somente selecionava as tabelas que iria utilizar e não fazia query alguma, utilizávamos beans.
Além disso, passava também parâmetros e o “relatório se encarregava” de fazer as consultas necessárias.
Alguém tem alguma ideia de como isso poderia ser feito? Realizar essas consultas de forma mais dinâmica e que não se tenha o uso de selects no banco de dados?
Se alguém puder ajudar, agradeceria muito