Many channels.
One direction.

Power BI consulting · Christchurch, NZ

Power BI your team
can rely on.

I'm Mike Ryan. I build Power BI reports and data models your team can use, understand and maintain.

10+ years in business intelligence

5+ years consulting

One consultant.
Working directly with you.

How I can help

From one stubborn report to a more dependable reporting platform.

Build or improve your Power BI reporting

Reports, data models and DAX, with handover built into the work. I can help with one report or a wider Power BI workspace.

Data modelling and SQL

I structure and improve the SQL and warehouse layers your reporting relies on, with performance and maintainability in mind.

Data preparation and integration

I bring data from different systems together using SQL and Power Query, so your reports start with consistent, usable data.

Performance and governance

I investigate slow reports, review how your Power BI environment is organised, and provide a second opinion before a wider change.

A worked example.

A small report I built on the Electricity Authority's public market data, covering every month since January 2022 from 6.9 million half-hourly generation readings. Pick a month, filter by island, or press play. It's built for the web so anyone can open it without a Power BI licence; the model and measures behind it are the ones I'd use in Power BI.

New Zealand electricity generation and wholesale prices

Generation
 

Renewable share
 

Wholesale price
 

Generation by source for the selected month.
  • Renewable
  • Fossil
  • Other: wood, diesel and battery
Show the numbers
How it's built

The model is a small star schema. Two fact tables share the date and island dimensions, so one slicer filters both.

GenerationkWh per half hour,by station and fuel Price$/MWh per half hour,by grid node Date Island Fuel Node

The logic sits in three measures. In the Power BI model they are:

Generation GWh =
DIVIDE ( SUM ( Generation[kWh] ), 1000000 )

Renewable share =
DIVIDE (
    CALCULATE ( [Generation GWh], Fuel[Renewable] = TRUE () ),
    [Generation GWh]
)

Wholesale price =
-- Benmore for the South Island, otherwise Ōtāhuhu
VAR NodeCode =
    IF ( SELECTEDVALUE ( Island[Island] ) = "SI", "BEN2201", "OTA2201" )
RETURN
    CALCULATE (
        AVERAGE ( Price[Dollars per MWh] ),
        Node[Code] = NodeCode
    )

A short script downloads the monthly files from EMI, stops if any station or fuel code is unmapped, and reduces them to a 7 KB file for this page. It checks for new data each month.

Source: Electricity Authority, EMI market data, licensed CC BY 4.0. Grid-metered generation; rooftop solar is not included. Renewable share counts hydro, geothermal, wind and solar; official MBIE figures also count wood, so they run slightly higher. Wood, diesel and battery output is shown as other. Prices are the monthly average of every half-hourly final price, at Ōtāhuhu (Auckland) and at Benmore (South Island), each shown separately.

Mike Ryan, independent business intelligence consultant
Mike RyanChristchurch, New Zealand

You work directly with me.

I bring 10+ years in business intelligence and 5+ years in consulting. Power BI is my main focus today. I handle the work from the first discussion through delivery and handover.

My work has covered dairy manufacturing, energy and fuel distribution, telecommunications, ports and logistics, agricultural machinery, health and social services, and workforce software.

I care about reliable numbers, models another person can maintain, and reports that remain useful after handover.

Working with me

Onsite in Christchurch or remotely, as agreed.

Short engagements
NZ$160 / hour
From three months
NZ$140 / hour

Both exclude GST.

  1. Start with free scoping.

    Tell me what you need from your reporting and what is getting in the way. The initial scoping conversation is free.

  2. See where the time goes.

    I work on a time and materials basis, with a weekly view of the hours spent.

  3. Making good use of AI.

    I'm enthusiastic about what AI can do for everyday work. I use AI tools to speed up development and problem-solving, and I'm happy to share the tools and approaches I use so your team can build confidence with AI too.

  4. Keep the knowledge in your team.

    Documentation and knowledge transfer are part of delivery, so your team can maintain what I build.

Tools I use.

I work mainly in Power BI, SQL Server and SQL. I use Microsoft Fabric where it fits the work, and have working knowledge of Databricks.

Open source

cloakroom

Use AI with a Power BI model without handing it your customers' names.

cloakroom sits between an AI agent and a Power BI model. Values in the columns you choose are swapped for stable tokens before the agent sees them, and swapped back on the way in, so the analysis still works. The mapping stays on your machine.

View cloakroom on GitHub

What the AI agent receives

EVALUATE TOPN ( 4, SUMMARIZECOLUMNS ( Customer[Name], Customer[Email], "Revenue", [Revenue] ), [Revenue] )

Customer[Name]Customer[Email][Revenue]
Contoso Ltd[email protected]412,380
Fabrikam Inc[email protected]298,145
Northwind Traders[email protected]187,902
Tailspin Toys[email protected]96,440

Without cloakroom, the names and emails go into the AI model's context.

Illustration using Microsoft's sample company names. Numbers pass through unchanged.

Tell me what you need
your reporting to do.

Email me a brief outline of the problem, or call me.
The first scoping conversation is free.

027 321 2299
Ryan Analytics