Ответ 1
Вероятно, вам нужен общий уровень для доступа к базовой аналитической базе данных, например OLAP4J, которые предоставляют уровень API для лежащих в основе аналитических баз данных.
В идеале библиотеке нужна подробная информация о том, какие таблицы/столбцы/агрегировать каждую карту измерения/меры. Затем, когда задан список выбранных, он генерирует SQL-запрос (-ы)
Вероятно, вам нужен общий уровень для доступа к базовой аналитической базе данных, например OLAP4J, которые предоставляют уровень API для лежащих в основе аналитических баз данных.
Я не использовал его сам, но я хорошо слышал о Pentaho. Java и открытый исходный код.
См. также этот вопрос здесь: Рамка Java Business Intelligence со специальной веб-отчетностью? и связанный jasper plugin для Groovy. Однако запрос ad hoc очень редко, и в настоящее время я сталкиваюсь с теми же проблемами.
Я думаю, что Adhoc-запросы для BIRT и JasperSoft предлагаются только в "Enterprise" ( "коммерческое" ) решение. Я пытаюсь реализовать его таким образом, что создатель отчета может предоставлять параметры (специальные помеченные) и что конечный пользователь может выбрать включение или исключение этих параметров. Это не особенно "Ad hoc", но для моих клиентов будет достаточно.
Если вы хотите легко генерировать запрос из нескольких баз данных, вы можете попробовать Active Query Builder, это графическое (позволить вам выпадающие таблицы), мертвый, простой вставлять в вашу программу и легко настраиваемый (в некоторой степени), это связано, возможно, с JasperReports или с простой сеткой, может помочь вам сделать то, что вы хотите.