I'm looking for some sort of (ideally) PHP-based, but certainly web-based (server-based?) reporting package that will allow
a. dynamic connection to a database
b. creation of parameterized reports to run against that database
c. generation of several different output file formats - XML, CSV, Excel, HTML, etc.
d. some form of relatively easy ad-hoc querying for users that will not know SQL
e. image/chart generation would be a plus, but isn't needed now
f. runs on Windows and Linux (we haven't nailed a production platform yet, and we've got some development running on both, plus running against IIS and Apache 2)
It's a bit of a catch-22 situation - I can get some money for a reporting package, but as this is a bit of a demo/prototype, we don't want to spend a lot right now. And future plans call for multiple servers, so cost is a factor.
The dynamic connection stems from the fact that I'll have a number of different databases, one per client. The layout, etc. will be the same, but the contents obviously won't be. I'd like something that can be used for each client without having to rebuild a "canned" query to talk to the right database for each client.
I'd like to be able to create a few "canned" reports that ask for things like a start date and end date, and then run a pre-defined query using those arguments. Allowing the user to export the data in different formats lets me make a range of people happy.
We'd like nice looking output, plus some way, if possible, of allowing the user to create a query on the fly. Users will NOT know SQL, so some sort of visual tool is probably better, but as long as something works right now, I'm probably happy. Ideally, these user-created queries could be saved as the next set of "canned" reports.
"Everyone" seems to know "Crystal Reports", so that's what people ask for. Unfortunately, it's really expensive, and even if it did what everyone wanted, it's probably too expensive to consider (given a future part of the development plan).
I'd prefer not having to code up sections of reports in something like Java, so DataVision (which I've seen recommended in a few postings) may be out, based on my preliminary investigation on how it works.
Anyone have any suggestions on products to look at, or to stay away from?