A clean-room, open-source, Rust-native alternative to Microsoft Power BI Desktop: connect to data, shape it, model it, and build interactive reports. The goal is DAX results identical to Power BI's, checked by parity cases whose expected values were observed in Power BI Desktop. Your work saves to an open, text-based file. Native on Linux, Windows and macOS; a reduced web build via WASM.
Status: pre-alpha. The desktop app connects to CSV/XLSX/Parquet, shapes data in a Power Query
editor, models relationships, evaluates DAX and draws six visual types. Roadmap:
ROADMAP.md. Contributor and agent rules: AGENTS.md.
Limitations: not yet released, and not a drop-in replacement. It does not open .pbix/.pbip
files, and supports only file data sources, a subset of DAX and M, and six visuals. There is no
publishing or sharing (the Power BI Service half). Parity is measured only by the cases in this repo.
There are no release builds yet; build from source. Install Rust with rustup
(the toolchain is pinned in rust-toolchain.toml and installs itself), then:
git clone https://github.com/UCS-Care-Group/metriccraft
cd metriccraft
cargo run --release -p metriccraft # empty window: Home > Get Data to load a CSV, XLSX or Parquet file
cargo run --release -p metriccraft -- PROJECT # open a Project folder or .mcraft Package
cargo run --release -p metriccraft-cli -- dax PROJECT 'EVALUATE Sales' # no window: see docs/cli.mdOn Linux the app needs a Wayland or X11 session. If OpenGL misbehaves, try the wgpu renderer:
cargo run --release -p metriccraft --no-default-features --features wgpu.
Found a bug or a DAX result that differs from Power BI? Please
open an issue. See
CONTRIBUTING.md before sending code.
Not affiliated with or endorsed by Microsoft. Power BI is a trademark of Microsoft Corporation.
Licensed under MIT OR Apache-2.0, at your option.