Alpha · OpenBI 0.3.8 · written in C · made in Norway

Business intelligence for the age of agents.

A BI engine and studio in one install. Your organization's measures live in a semantic model, so any agent — Claude, ChatGPT, Grok or your own — answers with numbers it cannot make up. No Python. No R. Nothing to pip install.

Download for Windows Watch it work
  • Claude
  • ChatGPT
  • Grok
  • your own agent — anything that speaks MCP
51
visuals, from ledgers and Sankey diagrams to routes on a map
98
tools for agents over MCP: model, queries, reports, notebooks, versions
2,549
DAX queries checked against Power BI's own answers. 0 failures.
1
signed installer. No Python, no R, no packages to keep alive.

Why another BI tool

Python and R were made for humans.

They were built for people at a keyboard, one package at a time — and they are wonderful at that. But an agent doesn't need a REPL and forty dependencies. It needs one engine that answers in milliseconds, and says no when a name doesn't exist.

OpenBI's engine is written in C. DAX, SQL and Power Query run inside it, and so do the libraries that do the heavy lifting — DuckDB, OR-Tools, QuantLib, igraph, LightGBM and Typst. One engine, one model, one answer.

“The fastest dependency is the one you never installed.”

a stack of packagesone engine

Your wingman

Talk to me, Goose.

You're never alone. DAX, M, MDX, SQL — the syntax you used to fight is a thing of the past. Ask in words; your agent writes the query, OpenBI checks it against the model, and the answer comes back in words.

Agent session · Example Brewery
Recorded from a real session over MCP: ClaudeChatGPTGrokyour own
OpenBI Studio in dark theme: the DAX view with the agent's query and its resultsOpenBI Studio — the DAX view

Connect any agent in one line (the studio shows yours, with its own key):

claude mcp add --transport http openbi-studio http://127.0.0.1:5739/mcp \ --header "Authorization: Bearer <your studio's key>"

Other agents take the same address as JSON. The studio says when one is connected, and how many calls it made.

Production plan OR-Tools

  • Optimal: margin 4,068,409.
  • Bottling hours in Bergen are at their limit (1,600): one more adds 75 to the margin.
  • IPA demand is at its limit (60,000): one more liter adds 19.5.

Bond portfolio QuantLib

  • Market value 884.94 M; a one-basis-point rise in rates costs 318,623.
  • Rates +100 bp: −30.98 M; convexity softens the DV01's estimate by 884,689.
  • VaR 99 %, one day: 3.79 M.

Who buys what igraph

  • 19 nodes, 60 edges, 2 communities (modularity 0.37: a clear structure).
  • Most central: Pils, IPA, Cider.
  • No cut points: no single shop holds the network together.

The agent's explanations, word for word, from the studio's explain tool on the example project.

The semantic model

An analytical language that can't be hallucinated.

Like SQL, Open Analytics Expression (OAX) is exact: a query names measures and columns that exist, or it fails. Your organization's measures, relationships, roles and calendars live in one semantic model — written once, by people who know what “revenue” means — and every agent uses the same definitions.

Measures with descriptions Relationships Roles and row-level security Calendars and time intelligence TMDL text, in git
measure 'Revenue' = SUMX(Sales, Sales[Liters] * RELATED(Products[Price per liter])) formatString: #,0 /// NOK of revenue for each liter sold measure 'Revenue per liter' = DIVIDE([Revenue], [Liters sold]) formatString: #,0.00

A replay of the example project's answers, recorded from OpenBI. The misspelt names are refused exactly as the engine refuses them.

Model · Example Brewery — 17 tables, 8 relationships
The studio's model view: the diagram of 17 tables, a table's description, and the Activity panel The studio's model view in dark theme

Versions

Made a mistake? Recover in a breeze.

Every change — yours or the agent's — is tracked in git and saved as versions you name. The model is text, so a change reads like a sentence, and going back is one click.

  1. e3968e4
    The brewery as it came
  2. 085341d
    Add Revenue per liter: NOK of revenue for each liter sold
    [Revenue per liter] = 44.36
  3. a mistake
    [Revenue] deleted
    [Revenue per liter]: the value for column 'Revenue' cannot be determined
  4. back to 085341d
    Restored — the model loads again as saved
    [Revenue per liter] = 44.36 · 0.6 ms

The real sequence, from the example project — the agent made the mistake on purpose.

Versions — the agent's change, as a diff
The studio's Versions view: the agent's commit adding Revenue per liter, with its diff The Versions view in dark theme
AGENT

Trust, but log

Don't trust agents? Neither do we.

  • Every step an agent takes is in the activity log, with its badge and the time: the queries it ran, the measures it changed, the versions it saved.
  • It never sees a password or a key: when a source needs signing in, the studio asks you, and the agent waits.
  • Roles and row-level security in the model decide what each reader sees — and “see as” shows you exactly that.
  • It is told to save a version only when you agree — and any version can be undone.
we detect everything
Activity — what you and the agent did
The Activity panel: each agent step — notebooks added, steps run, versions saved — with an Agent badge and its time The Activity panel in dark theme: the agent's saved version, changed measure and DAX run

Chart themes

Do you love ggplot? We've got you covered.

Or something more serious? Nine looks, one attribute on the page — the same chart, the same data, drawn by OpenBI in each.

data-style="ggplot"
The same chart in the selected theme

Are you an owl?
We have a dark theme — for the studio, the reports and this page.

Financial reporting

Statements as finance prints them.

A chart of accounts read as a parent-child tree, added up by its operators. Actual against budget and last year, variance bars, comments on figures — and out the other end, Excel with live formulas, or a typeset PDF.

Finance — pick 2026, click a plant, every statement follows
The income statement typeset as a PDF: rules, a double rule under the total, tabular figures, variance bars and a footnote
The same statement as a typeset PDF · move to zoom

Excel with formulas

Totals and variances as formulas, the rows as an outline, the figures exact with the scale in their number format.

Typeset PDF

Typst on the server: rules, a double rule under the total, headings on every page, comments as footnotes. PDF/A on request.

Comments on figures

Right-click a figure to comment. Kept with the report, who and when, under the selection they were written for.

Formulas

Are you a mathematician? LaTeX is there for you.

Write formulas in TeX on any report page, and put the model's live values in them with \val{[Measure]} — they follow the page's filters. Below is the same renderer OpenBI ships. Type away.

A report page: S and C are the model's values, live
Formulas on an OpenBI page: Black–Scholes, the last close 5,916.59 and the call's value 432.69 from the model, NPV and a covariance matrix The same formulas in dark theme

One tool

Everything inside. Nothing to install.

Operations research, quantitative finance, network analysis and prediction — next to OAX, SQL and Open Query, in the same engine, on the same model. No second runtime, no extra packages.

Planning — move the sliders and OR-Tools plans the vans' routes again, live; the rates move the NOK curve (QuantLib)
Delivery routes solved by OR-Tools, drawn on a map of Oslo
OR-Tools

Operations research

Production plans, vehicle routes, schedules — with what limits them and what one more of each is worth.

A network of shops and products, communities coloured
igraph

Networks

Communities, centrality, bridges — who matters, and why.

A bond portfolio's risk: market value, DV01, VaR
QuantLib

Quantitative finance

Curves, bonds, options, FX, VaR — and QUANT.* functions right in DAX.

A notebook: DAX, then C# with OR-Tools
notebooks

Code first

DAX, SQL and C# steps, versioned and approved by a person before they reach the model.

The prediction patterns: churn, propensity, customer value, forecast
LightGBM

Prediction

Churn, propensity, forecasts — trained on the model's history, scored with PREDICT() in DAX.

DAX enginePower Query M engineSQL · DuckDBOR-ToolsQuantLibigraphLightGBMTypst PDFsXMLA for Excel

Notebooks

Every question, a notebook. No compute bill.

Forecasts with LightGBM, valuations with QuantLib, plans and routes with OR-Tools, networks with igraph — each a notebook of OAX, SQL and C# steps that runs on your own computer, beside the model. No cluster to rent, no cores billed by the hour, and your data stays where it is.

Liters ahead — what it found
Version 1 of the forecast, waiting for approval: strong, off by 2 %, and what moves it mostVersion 1 of the forecast, waiting for approval: strong, off by 2 %, and what moves it most
Liters ahead — the notebook
The forecast's notebook: the question, then DAX and C# steps with LightGBMThe forecast's notebook: the question, then DAX and C# steps with LightGBM

LightGBMHow much will we sell in the next 6 months? Strong: off by 2 % over the six months held back — a simple rule was off by 3 %. A person approves it before it forecasts in the model.

0 kr

in compute

It runs on the cores you already have — your laptop, or a server of your own. Nothing to rent, nothing metered.

Approved by a person

The agent saves drafts and never approves. Someone other than a version's author approves it before it is used.

All in one place

The model, its notebooks, their versions and the reports: one project folder, one git history.

Security

Your fast track through the security review.

Fewer moving parts, fewer surprises. No interpreter to patch, no package manager pulling code at run time — one installer, signed, with its bill of materials inside.

0known vulnerabilities

in the 45 components that ship, checked against OSV and NVD when the installer is built — a build with one stops.

1signed installer

OpenBI's executables and engine signed by Norway Analytics; a CycloneDX bill of materials installed with the studio.

0secrets for agents

Credentials stay with the studio. PDF typesetting runs in an empty folder that can read no file and fetch no package.

Excel

Old-fashioned and love Excel? Darling, we've got you too.

Click Analyze in Excel and a PivotTable opens, live on the model: Excel speaks to OpenBI the way it speaks to Analysis Services. Your CUBE formula dashboards can come right back.

  • PivotTables and slicers over the live model — the measures and roles you defined.
  • CUBE formulas: the MDX they send, answered by OpenBI.
  • Statements to .xlsx with their formulas, when you'd rather have a file.

The figures are the model's answers to those queries, through MSOLAP — the provider Excel uses.

Coming from Power BI

One of Power BI's 30 million users? Come row with the Norwegian team.

Ro!Norwegian for “row” — together, in time.
  1. Import from Power BI — one click.A .pbip project, a semantic model folder or TMDL becomes an OpenBI project.
  2. Everything comes along.Tables, measures, relationships, roles, calendars — and Power Query, which OpenBI runs in its own M engine.
  3. Your DAX answers the same.2,549 queries recorded from Power BI's engine: 2,318 identical, 220 refused by both, 11 known and documented differences.
  4. Your agent rebuilds the pages.Report pages are HTML in your project, so the agent writes them — and you review them in git.

30 million monthly users: Microsoft's own figure, from its 2025 recap. Power BI is a trademark of Microsoft; OpenBI is not affiliated with Microsoft.

Enterprise partner

Bringing OpenBI to a whole organization? Meet Querex.

Querex AS is OpenBI's Enterprise Partner. They connect an organization's databases, semantic models, files and APIs into one workflow — with the access you authorize — and put agents to work on it: from data to decisions in seconds.

Visit querex.no
Querex Querex Enterprise Partner

Download

In alpha. Get a seat in the boat.

OpenBI is in alpha and changes fast — often from one week to the next. Tell us who you are, show us you're not a robot, and the installer is yours.

  • It changes every week. New versions and new features — and now and then, something that breaks.
  • Your work stays safe. Projects are plain files in git: any version comes back with one click.
  • You help steer. The first rowers' feedback sets the course.
  • Teams welcome. Installing for a team? Say so in the message.
Your browser solves a small puzzle and our server checks it. No third party, no cookie.

What you write here is stored on Norway Analytics' own server — not shared, not sent to any other service. We use it to know who rows with us and, if you tick the box, to email you about new versions. Ask support@norwayanalytics.no, and it's deleted.

Windows 10 and 11, x64 OpenBI Studio 0.3.8 · alpha · 136 MB Signed by Norway Analytics No licence key