Unfortunately it's a requirement they can extract SQL or at least similar so they can build their reports in Excel as they do now, also these reports would be too complex to make a tool for as I would have to adopt all features in Excel :-)
The only way I can imagine doing that is to give them a textarea to put the sql into and then you parse it and add scoping before execution or just straight up separate databases per account.