Skip to content

Power BI

Power BI connects to Elasticsearch through the SoftClient4ES JDBC driver.

Compatible (not formally tested) — the JDBC protocol works; we have not run Power BI through formal regression. Best-effort.

What works, what’s coming

Power BI is ODBC / DirectQuery-primary. DirectQuery relationships can generate nested subqueries, which are not in this release yet.

Workaround: use Import mode (Power BI folds the query locally — no live nested SQL), or author explicit-JOIN queries; avoid DirectQuery relationships that generate subqueries until the next release (Quarter 4 2026). Great for explicit JOIN SQL — full BI-tool subquery / CTE support is coming in the next release.

See Known Limitations for the full picture of what the current release does and doesn’t cover.

Connect

Connect via Power BI’s generic JDBC path:

  1. Download the SoftClient4ES JDBC fat JAR for your Elasticsearch version (e.g. softclient4es8-jdbc-driver-0.2.4.jar).
  2. In Power BI Desktop, use a generic JDBC connector (or a JDBC-to-ODBC bridge) pointed at the JAR.
  3. Fill in:
    • URL: jdbc:elastic://localhost:9200
    • Driver class: app.softnetwork.elastic.jdbc.ElasticDriver
    • For authentication, append URL parameters: jdbc:elastic://es.example.com:9243?scheme=https&user=elastic&password=changeme

The fat JAR is self-contained and Scala-version-independent — no Scala suffix to choose.

Browse

Your Elasticsearch indices appear as tables in the Navigator. Select an index to load it into the data model, or write a SQL statement directly for full control.

Cross-index JOIN

The superpower of this release: Elasticsearch SQL can’t JOIN across indices — SoftClient4ES does. Author an explicit-JOIN query (in Import mode, this folds locally with no live nested SQL):

SELECT e.name, e.salary, d.dept_name
FROM jdbc_join_emp e
JOIN jdbc_join_dept d ON e.dept_id = d.dept_id;
-- 5 rows (the orphan employee with dept_id=99 is dropped by the INNER JOIN)

For the full JOIN matrix (INNER / LEFT / RIGHT / FULL / cross-cluster), see the Cross-Index JOIN walkthrough. JOIN depth and cluster count are metered — see Pricing.

Screenshot

Power BI showing a cross-index JOIN result between jdbc_join_emp and jdbc_join_dept

Screenshot coming in a follow-up release. Captured with Power BI against SoftClient4ES 0.2.1 (JDBC), 2026-07.

License

The JDBC driver is licensed under the Elastic License 2.0 — free to use, not open source.