14 projects

Never in the feed — a repository is a body of work, not an event. Roles are the honest ones: most of these are somebody else's project too.

01

2025

1 items
CONTRIBUTOR · MIT

DAX Lib

Source code for the DAX libraries published on daxlib.org, where reusable DAX functions are distributed as versioned packages.

The goal is to create a NuGet for DAX libraries. The beginning is promising. Look at the libraries for creating SVG measures to start with some fun!

02

2024

2 items
CONTRIBUTOR · MIT · C#

Contoso Data Generator V2

Generates sample data ready to load into Power BI or Fabric OneLake: Parquet, Delta tables, CSV, or a bulk-insert script for SQL Server. Ready-made sets are published in a companion repository for anyone who does not need to generate their own.

With Fabric and the need for Delta tables, I pushed to create a V2 of the tool. It still generates files for SQL Server, though.

CONTRIBUTOR · MIT · C#

VPAX Obfuscator

A .NET library that obfuscates VertiPaq Analyzer files, so a model's structure and statistics can be shared without exposing table, column and measure names.

People want help with a model they are not allowed to show you. That happens when they send a sensitive model to DAX Optimizer, for example.

03

2023

2 items
AUTHOR · MIT · C#

Export Pictures

A command-line tool that extracts the images from a Word document, naming each file from the figure caption in its chapter.

Book tooling that Alberto and I needed, because the publisher wanted every figure in a separate file named after the caption. Automating this process saved so much time!

AUTHOR · MIT · C#

Word Compress PNG

A command-line tool that recompresses the PNG images embedded in a Word document.

The other half of the book tooling that Alberto and I needed: reducing the size of a book manuscript to make it manageable.

04

2022

2 items
CONTRIBUTOR · MIT · C#

Contoso Data Generator

Generates custom Contoso sample databases, and ships ready-made ones for SQL Server. Legacy version now replaced by v2.

I looked for a tool like this to generate the data behind Power BI demo files for too long before starting to build one. Now replaced by v2.

CONTRIBUTOR · MIT · C#

DAX Template

A template engine for Tabular models and DAX, generating date tables, calculation groups and other repeated model structures from a definition rather than by hand. Used by Bravo for Power BI, and callable from your own scripts.

I needed a library to create DAX expressions in a deterministic way. The future is probably an agentic use of templates to save tokens and improve accuracy.

05

2021

3 items
AUTHOR · MIT · C#

Power BI Push Dataset

Validates and translates regular Tabular models into Power BI push datasets, with helpers to clear, populate and simulate real-time transactions.

Using Push Datasets is hard because of the lack of tooling. The idea behind this tool is to duplicate an existing semantic model into a Push Dataset.

CONTRIBUTOR · MIT · TypeScript

Bravo for Power BI

A free companion for Power BI Desktop. It finds the expensive columns and tables in a model, exports VPAX files, formats DAX, builds a date table with time intelligence, and exports to Excel and CSV. Deliberately not a replacement for DAX Studio or Tabular Editor.

Initially for the person not ready for DAX Studio and Tabular Editor. The time-intelligence templates turned out to save advanced users time too.

CONTRIBUTOR · MIT · C#

DAX Formatter

The .NET client for the daxformatter.com service, which formats DAX by the SQLBI formatting rules. Requests are asynchronous and batched, and the library calls the service over the Internet rather than formatting locally.

I wanted to make sure clients implemented calls to DAX Formatter properly, using the efficient bulk mode instead of one call for every measure. Better performance, lower pressure on the server: win-win!

06

2020

1 items
AUTHOR · MIT · C#

Analyze in Excel for Power BI Desktop

An external tool for Power BI Desktop that opens Excel on the model already loaded: one click from a PivotTable connected to the local Analysis Services instance. The stated goal is to stay one click away from an Excel report.

I believe the PivotTable in Excel is still the best data exploration tool when you are creating a semantic model with Power BI Desktop. With Analyze in Excel, the PivotTable is just one click away.

07

2019

1 items
CONTRIBUTOR · MIT · C#

VertiPaq Analyzer

The libraries behind VertiPaq Analyzer — not the Excel file of the same name, which imports the VPAX file they produce and presents it readably. They extract a Tabular model's metadata and data-distribution statistics, and read and write the VPAX format that carries them between tools such as DAX Studio and Bravo.

I needed a file format for analyzing statistics of semantic models. It became the de facto standard for Power BI, Fabric, and Analysis Services semantic models.

08

2017

1 items
AUTHOR · MIT

DAX Date Template

A Power BI template that builds a date table in DAX, ready to connect to several tables and to carry time-intelligence calculations. Obsolete tool, use the date and time intelligence feature in Bravo instead.

I spent many nights on this template, which is now superseded by the date feature in Bravo. However, it is still a good example of complex DAX code in a calculated table.

09

2015

1 items
CONTRIBUTOR · MS-RL · C#

DAX Studio

Writes, executes and analyzes DAX queries against Power BI Desktop, Power Pivot for Excel and Analysis Services Tabular.

I have supported Darren Gosbell's project since the beginning, first by providing feedback and testing the tool, then by contributing mainly to the performance-analysis features. Most of what Optimizing DAX teaches assumes you have it open.