Skip to content

Erupt Report ​

Erupt Report is the general-purpose reporting and charting module of the erupt ecosystem. Define reports and charts with pure SQL and perform multi-dimensional data analysis with zero frontend code. Charts are rendered by G2Plot, with 20+ chart types, a dozen query dimension components, column drill-down, chart-dimension linkage, Excel export, and report caching.

🎉 Open Source Notice

Erupt Report (formerly the commercial erupt-bi module) is officially open-sourced with Erupt 2.1.0.

Live demo: https://demo.erupt.xyz   Username: bi Password: bi

Why not DataEase / Superset / in-house? ​

DimensionIn-house EChartsDataEase / SupersetErupt Report
Deployment cost0 (embedded in your app)Separate BI server + database0 (embedded in your app)
Tech stackFrontend + backend to maintainJava/Vue + Python/Node stacksPure Java + SQL
PermissionsReimplement from scratchSeparate user system to syncReuses Erupt UPMS, zero extra work
Drill-down / linkage1–2 weeks each to buildHigh configuration barrierAvailable out of the box
Time to productionWeeksDays + cross-team coordination30 minutes

Getting Started ​

Add the dependency ​

xml
<dependency>
  <groupId>xyz.erupt</groupId>
  <artifactId>erupt-report</artifactId>
  <version>${erupt.version}</version>
</dependency>

TIP

The module targets Java 17 and works with erupt 2.x. It depends on erupt-upms (permissions) and erupt-tpl (template pages), and bundles the standalone nashorn-core JS engine — no extra dependency needed.

Configuration ​

yaml
erupt:
  bi:
    enable-cache: true                    # enable report cache
    query-log: true                       # log query SQL
    super-admin-publish: false            # restrict publishing to super admins
    page-size: 10                         # default page size
    page-size-options: [10, 30, 50, 100]  # selectable page sizes
    single-max-result-num: 500            # max rows per backend-pagination query

Feature Guide ​

FeatureDescription
Data SourcesConfigure multiple data sources to analyze data across different databases
Report HandlersDynamically process report SQL and query results with Java code
Reference DimensionsGenerate dropdown lists or trees as query conditions from SQL results
Function ManagementMix JS functions into SQL for dynamic SQL capabilities
Report ConfigurationCore configuration: reports, charts, query dimensions, dynamic columns, drill-down
Publishing ReportsPublish configured reports as system menus
FAQES6 syntax, default values, and more

Contributors

The avatar of contributor named as YuePeng YuePeng
The avatar of contributor named as Claude Fable 5.1 Claude Fable 5.1

Changelog

Released under the Apache-2.0 License.