Automation ROI Dashboard in Power BI

Build a Power BI dashboard that projects finance automation savings.

Introduction

30 Second Summary

Finance teams spend hours on repetitive tasks like entering invoices, reconciling statements, and chasing query resolutions. Convincing leadership to invest in automation requires more than a gut feeling.

In this project, you will build a Power BI dashboard that analyzes back-office finance team productivity and projects the ROI of automating repetitive tasks. You will also write a stakeholder case study that frames your dashboard findings as a compelling business case.

What You'll Build

An interactive Power BI dashboard backed by a mock dataset of 500+ finance operations log entries, featuring productivity KPIs, error analysis, and a dynamic automation value simulator.

By the end of this project, you'll have:

  • A structured CSV dataset simulating 3 months of finance back-office operations with 500+ log entries across multiple employees, task types, and systems.
  • A multi-page Power BI report with DAX measures for productivity KPIs and a what-if parameter slider that projects hours saved and annual cost savings as automation percentage increases.
  • A written case study that communicates your dashboard findings to cross-functional stakeholders to secure automation buy-in.
  • Secret Mission: A break-even analysis page that calculates how many months until automation tool costs are recouped based on projected savings.

Are there any prerequisites?

You need basic familiarity with spreadsheets (Excel or Google Sheets). No prior Power BI or DAX experience is required.

Power BI Desktop is a Windows-only application. You will need a Windows computer to complete this project.

Before We Start

Every finance team has repetitive manual tasks that eat up hours each week. The question managers always ask is: "If we automate these tasks, how much time and money would we actually save?"

In this step, you will install Power BI Desktop and confirm you have a spreadsheet editor ready. These are the two tools you need to build your Automation ROI Dashboard.

In this step, get ready to:
  • Download and install Power BI Desktop.
  • Launch Power BI Desktop and verify Report view opens.
  • Confirm you have a spreadsheet editor available.
Download and install Power BI Desktop

Power BI Desktop is a free Windows application for building interactive data reports. You will use it to create all the dashboard visuals and DAX measures in this project.

  • Open your browser and navigate to the Power BI Desktop download page.
  • Click the Download button.
  • Select the 64-bit version (PBIDesktopSetup_x64.exe) and click Next to start the download.
  • Once the download finishes, double-click the PBIDesktopSetup_x64.exe file to launch the installer.
  • Follow the setup wizard by accepting the license agreement and clicking Next through each screen until installation completes.

What is Power BI Desktop?

Power BI Desktop is Microsoft's free data visualization tool. It lets you connect to data sources, build data models, write DAX formulas, and design interactive reports.

Unlike the Power BI Service (which requires a paid license to share reports), Power BI Desktop runs entirely on your local machine at no cost. Everything you build in this project stays in a local .pbix file.

What if I'm on macOS or Linux?

Power BI Desktop requires Windows 10 or later. If you are on macOS or Linux, you will need a Windows virtual machine or a cloud-based Windows instance to follow along.

Installer not running?

Make sure you downloaded the 64-bit version (PBIDesktopSetup_x64.exe). The 32-bit version is no longer supported.

If Windows blocks the installer, right-click the file, select Properties, check Unblock at the bottom, and try again.

help me troubleshoot my Power BI Desktop installation

Launch Power BI Desktop
  • Press the Windows key to open your search bar.
  • Type Power BI Desktop and press Enter to open it.
  • A welcome screen appears on first launch. You can sign in with a Microsoft account or click the X in the top-right corner of the welcome dialog to skip sign-in. Signing in is optional for local development.

After dismissing the welcome screen, you should see the Report view. This is a blank canvas area in the center with the Visualizations pane on the right side.

What is Report view?

Report view is where you design and build your reports. You drag fields from the Data pane, select chart types from the Visualizations pane, and arrange everything on the canvas. This is where you will spend most of your time in this project.

Confirm your spreadsheet editor

You need a spreadsheet editor to create the mock CSV dataset in the next step. Any of these will work: Microsoft Excel, LibreOffice Calc, or Google Sheets.

  • Confirm you can open one of these editors on your computer. If you use Google Sheets, verify you can access it at sheets.google.com in your browser.
  • If you do not have a spreadsheet editor installed, download LibreOffice Calc for free.

Any editor that exports CSV works

You will save your data as .csv files. As long as your editor can export to CSV format, you are good to go.

Your tools are ready. Next up, you will create the mock operations dataset that powers your entire dashboard.

Install and Set Up Power BI Desktop

To build your Automation ROI Dashboard, you need a data visualization tool that can handle interactive calculations and dynamic scenario modeling.

Power BI Desktop is a free Windows application purpose-built for this. In this step, you will download and install Power BI Desktop, then confirm you have a spreadsheet editor ready for creating your mock dataset.

In this step, get ready to:
  • Download and install Power BI Desktop.
  • Verify Power BI Desktop opens to Report view.
  • Confirm a spreadsheet editor is available for dataset creation.
Download and install Power BI Desktop

Power BI Desktop is a free download from Microsoft. No subscription or license is required for local development.

  • Open your browser and navigate to the Power BI Desktop download page:
  • https://www.microsoft.com/download/details.aspx?id=58494
  • Click Download and select the 64-bit version (PBIDesktopSetup_x64.exe).
  • Once the download completes, double-click the PBIDesktopSetup_x64.exe file to launch the installer.
  • Follow the setup prompts, accepting the default options at each screen.
  • Click Finish when the installer completes.

Why not the Microsoft Store version?

Power BI Desktop is also available from the Microsoft Store. Both versions work identically for this project. The direct download gives you more control over when updates happen, while the Store version updates automatically.

Installer won't run?

Power BI Desktop requires Windows 10 or later and a 64-bit processor. If you see a compatibility error, confirm your system meets these requirements. You also need .NET 4.7.2 or later installed.

help me troubleshoot the Power BI Desktop installer

Launch Power BI Desktop and verify Report view
  • Press the Windows key to open your search bar.
  • Type Power BI Desktop and press Enter to open the application.

On first launch, Power BI Desktop displays a welcome screen. You may be prompted to sign in with a Microsoft account.

  • Close the welcome screen by clicking the X in its top-right corner, or sign in if you already have a Microsoft account. Signing in is optional for local work.

You should now see the main Power BI Desktop interface with the Report view active. The large white canvas in the center is where you will build your visuals. The Visualizations pane sits on the right side of the screen.

What are the key areas of the interface?

The Ribbon at the top contains tabs like Home, Insert, and Modeling. The Report canvas is the main area where you arrange visuals.

The Visualizations pane on the right lets you choose and customize chart types. The Fields pane (also on the right, below Visualizations) shows the tables and fields from your data model once you load data.

Don't see the Visualizations pane?

Make sure you are on the Report view (the first icon in the left sidebar that looks like a chart). If the Visualizations pane is collapsed or hidden, go to View in the ribbon and ensure Visualizations pane is checked.

help me find the Visualizations pane in Power BI Desktop

Confirm your spreadsheet editor is available

In the next step, you will create a CSV dataset using a spreadsheet editor. You need Microsoft Excel, LibreOffice Calc, or Google Sheets available on your machine.

  • Verify you can open one of these spreadsheet editors: Excel, LibreOffice Calc, or Google Sheets (in your browser at sheets.google.com).

Any spreadsheet editor works

The only requirement is that your editor can save files in .csv format. All three options (Excel, LibreOffice Calc, Google Sheets) support CSV export.

Your environment is ready. Next up, you will create the mock operations dataset that powers the entire dashboard.

Create the Mock Operations Dataset

Power BI Desktop is installed and ready to go. But a dashboard is only as useful as the data behind it.

In this step, you will create a realistic mock dataset that simulates 3 months of finance back-office operations. You will design the data to tell a clear story about where automation would deliver the most value.

In this step, get ready to:
  • Create a 500+ row operations log CSV with employee activity, task types, and error flags.
  • Design data patterns that highlight automation opportunities (higher errors on legacy systems, wider time variance on complex tasks).
  • Create a benchmarks reference table with automation potential and cost data for each task type.
Create the finance operations log

Your dashboard will analyze how a 10-person finance team spends its time across different tasks and systems. The operations log captures every task a team member performs over a 3-month period.

  • Open your spreadsheet editor (Excel, LibreOffice Calc, or Google Sheets).
  • Create a new blank spreadsheet.
  • Enter the following headers in row 1, one per column:
EmployeeID,TaskType,StartTime,EndTime,ErrorFlag,SystemUsed
  • Start entering data rows using the starter template below. Copy this into your spreadsheet beginning at row 2:
EmployeeID,TaskType,StartTime,EndTime,ErrorFlag,SystemUsed
FIN-001,Manual Invoice Entry,2026-01-02 08:15,2026-01-02 08:32,FALSE,Legacy ERP
FIN-002,Statement Reconciliation,2026-01-02 08:30,2026-01-02 09:45,FALSE,Cloud Finance Platform
FIN-003,Query Resolution,2026-01-02 09:00,2026-01-02 09:42,FALSE,Legacy ERP
FIN-004,Payment Processing,2026-01-02 09:10,2026-01-02 09:28,TRUE,Legacy ERP
FIN-005,Report Generation,2026-01-02 09:30,2026-01-02 10:05,FALSE,Manual Spreadsheet
FIN-006,Manual Invoice Entry,2026-01-02 10:00,2026-01-02 10:18,TRUE,Legacy ERP
FIN-007,Statement Reconciliation,2026-01-02 10:15,2026-01-02 11:00,FALSE,Cloud Finance Platform
FIN-008,Query Resolution,2026-01-02 10:30,2026-01-02 11:55,FALSE,Manual Spreadsheet
FIN-009,Payment Processing,2026-01-02 11:00,2026-01-02 11:15,FALSE,Cloud Finance Platform
FIN-010,Manual Invoice Entry,2026-01-02 11:30,2026-01-02 11:48,FALSE,Legacy ERP
FIN-001,Report Generation,2026-01-02 13:00,2026-01-02 13:40,FALSE,Manual Spreadsheet
FIN-002,Query Resolution,2026-01-02 13:15,2026-01-02 14:00,TRUE,Legacy ERP
FIN-003,Manual Invoice Entry,2026-01-02 13:30,2026-01-02 13:44,FALSE,Cloud Finance Platform
FIN-004,Statement Reconciliation,2026-01-02 14:00,2026-01-02 15:20,TRUE,Legacy ERP
FIN-005,Payment Processing,2026-01-02 14:30,2026-01-02 14:48,FALSE,Cloud Finance Platform
FIN-006,Query Resolution,2026-01-02 15:00,2026-01-02 15:35,FALSE,Cloud Finance Platform
FIN-007,Manual Invoice Entry,2026-01-02 15:15,2026-01-02 15:30,FALSE,Legacy ERP
FIN-008,Report Generation,2026-01-02 15:30,2026-01-02 16:15,FALSE,Manual Spreadsheet
FIN-009,Statement Reconciliation,2026-01-02 16:00,2026-01-02 17:10,FALSE,Legacy ERP
FIN-010,Payment Processing,2026-01-02 16:30,2026-01-02 16:45,TRUE,Legacy ERP
FIN-001,Manual Invoice Entry,2026-01-03 08:20,2026-01-03 08:38,FALSE,Legacy ERP
FIN-002,Payment Processing,2026-01-03 08:45,2026-01-03 09:02,FALSE,Cloud Finance Platform
FIN-003,Statement Reconciliation,2026-01-03 09:00,2026-01-03 10:15,FALSE,Cloud Finance Platform
FIN-004,Query Resolution,2026-01-03 09:30,2026-01-03 10:50,FALSE,Legacy ERP
FIN-005,Manual Invoice Entry,2026-01-03 10:00,2026-01-03 10:14,FALSE,Cloud Finance Platform
FIN-006,Report Generation,2026-01-03 10:30,2026-01-03 11:10,TRUE,Manual Spreadsheet
FIN-007,Payment Processing,2026-01-03 11:00,2026-01-03 11:18,FALSE,Legacy ERP
FIN-008,Manual Invoice Entry,2026-01-03 11:15,2026-01-03 11:33,TRUE,Legacy ERP
FIN-009,Query Resolution,2026-01-03 13:00,2026-01-03 13:28,FALSE,Cloud Finance Platform
FIN-010,Statement Reconciliation,2026-01-03 13:30,2026-01-03 14:50,FALSE,Legacy ERP
FIN-001,Payment Processing,2026-01-03 14:00,2026-01-03 14:20,FALSE,Cloud Finance Platform
FIN-002,Manual Invoice Entry,2026-01-03 14:15,2026-01-03 14:30,FALSE,Legacy ERP
FIN-003,Report Generation,2026-01-03 14:30,2026-01-03 15:05,FALSE,Manual Spreadsheet
FIN-004,Manual Invoice Entry,2026-01-03 15:00,2026-01-03 15:22,TRUE,Legacy ERP
FIN-005,Query Resolution,2026-01-03 15:30,2026-01-03 16:45,FALSE,Legacy ERP
FIN-006,Statement Reconciliation,2026-01-03 16:00,2026-01-03 17:05,FALSE,Cloud Finance Platform
FIN-007,Manual Invoice Entry,2026-01-06 08:00,2026-01-06 08:16,FALSE,Cloud Finance Platform
FIN-008,Payment Processing,2026-01-06 08:30,2026-01-06 08:48,FALSE,Legacy ERP
FIN-009,Report Generation,2026-01-06 09:00,2026-01-06 09:35,FALSE,Manual Spreadsheet
FIN-010,Query Resolution,2026-01-06 09:15,2026-01-06 10:30,TRUE,Legacy ERP

What does each column represent?

  • EmployeeID: 10 team members labeled FIN-001 through FIN-010.
  • TaskType: the category of work being done (Manual Invoice Entry, Statement Reconciliation, Query Resolution, Payment Processing, Report Generation).
  • StartTime and EndTime: when the task began and ended, during realistic work hours (08:00-18:00).
  • ErrorFlag: whether the task resulted in an error that needed correction.
  • SystemUsed: which platform the employee used (Legacy ERP, Cloud Finance Platform, or Manual Spreadsheet).
Design realistic data patterns and expand to 500+ rows

The starter template gives you about 40 rows. Your dashboard needs at least 500 rows to produce meaningful averages and trends. The key is designing your data so it tells a story about automation potential.

  • Expand the dataset to 500+ rows spanning January through March 2026 by duplicating and modifying rows. Use your spreadsheet editor's fill-down feature, copy-paste with date adjustments, or any method you prefer.
  • Follow these data design rules as you expand:
  • Legacy ERP tasks should have error rates of 8-12%. Set roughly 1 in 10 rows with ErrorFlag as TRUE when SystemUsed is Legacy ERP.
  • Cloud Finance Platform tasks should have lower error rates of 2-4%. Only mark about 1 in 30 rows as TRUE for this system.
  • Query Resolution tasks should have the widest time variance. Some should take 15 minutes, others up to 90 minutes.
  • Manual Invoice Entry tasks should be short (5-20 minutes). Statement Reconciliation tasks should be the longest (45-90 minutes).
  • Distribute tasks across all 10 employees and all 5 task types evenly throughout the 3-month period.

Why design data with specific patterns?

Real operational data has patterns. Legacy systems tend to produce more errors because of manual data entry and outdated interfaces. Modern cloud platforms catch mistakes earlier.

When your dashboard surfaces these patterns, it becomes a compelling argument for automation investment. The data tells the story before you write a single word of your case study.

  • After expanding, verify your row count. Select all data rows (excluding the header) and check the count displayed in your spreadsheet's status bar. You should have at least 500 rows.
  • Save the file as finance_ops_log.csv to your Desktop.
  • In Excel, click File in the top menu bar.
  • Click Save As and choose your Desktop as the location.
  • Select CSV (Comma delimited) (*.csv) from the file type dropdown.
  • Click Save.

Use fill-down to speed up expansion

Select a block of completed rows, copy them, paste below, then update the dates to the next working day. Change a few error flags and task durations to add variety. Repeat until you pass 500 rows.

File not saving as CSV?

If your spreadsheet editor defaults to its own format (like .xlsx), make sure you explicitly choose CSV from the file type dropdown when saving. If prompted about losing features, click Yes to confirm the CSV format.

Help me save my spreadsheet as a CSV file

Create the task benchmarks reference table

The benchmarks table provides the baseline numbers your dashboard needs for automation projections. It defines how long each task takes manually, what percentage could be automated, and what the hourly labor cost is.

  • Create a new spreadsheet in your editor.
  • Enter the following data exactly as shown:
TaskType,AvgManualMinutes,AutomationPotential,HourlyCost
Manual Invoice Entry,15,0.85,45
Statement Reconciliation,65,0.60,55
Query Resolution,40,0.35,50
Payment Processing,18,0.75,45
Report Generation,35,0.70,48

What do the benchmark columns mean?

  • AvgManualMinutes: how long this task takes a human on average, without automation.
  • AutomationPotential: what fraction of this task could realistically be automated (0.85 means 85% of the work can be handled by software).
  • HourlyCost: the loaded labor cost per hour for a finance team member performing this task.

Notice that Query Resolution has the lowest automation potential (0.35) because it requires human judgment. Manual Invoice Entry has the highest (0.85) because it is repetitive and rule-based.

  • Save this file as task_benchmarks.csv to the same Desktop location where you saved finance_ops_log.csv.
  • Confirm both files exist on your Desktop. You should see finance_ops_log.csv and task_benchmarks.csv side by side.

TaskType values don't match between files?

The TaskType values in both files must match exactly, including capitalization and spacing. Double check that your operations log uses the same five task names as the benchmarks table: Manual Invoice Entry, Statement Reconciliation, Query Resolution, Payment Processing, Report Generation.

Help me fix mismatched TaskType values in my CSV files

✔️ Awesome, I've got everything!

Great. Make sure both CSV files are saved to your Desktop and ready for import into Power BI in the next step.

ⓧ I'd like to double check the full code

Here is the complete task_benchmarks.csv file:

TaskType,AvgManualMinutes,AutomationPotential,HourlyCost
Manual Invoice Entry,15,0.85,45
Statement Reconciliation,65,0.60,55
Query Resolution,40,0.35,50
Payment Processing,18,0.75,45
Report Generation,35,0.70,48

Here is the starter template for finance_ops_log.csv (your file should have 500+ rows following the same column structure and data patterns):

EmployeeID,TaskType,StartTime,EndTime,ErrorFlag,SystemUsed
FIN-001,Manual Invoice Entry,2026-01-02 08:15,2026-01-02 08:32,FALSE,Legacy ERP
FIN-002,Statement Reconciliation,2026-01-02 08:30,2026-01-02 09:45,FALSE,Cloud Finance Platform
FIN-003,Query Resolution,2026-01-02 09:00,2026-01-02 09:42,FALSE,Legacy ERP
FIN-004,Payment Processing,2026-01-02 09:10,2026-01-02 09:28,TRUE,Legacy ERP
FIN-005,Report Generation,2026-01-02 09:30,2026-01-02 10:05,FALSE,Manual Spreadsheet
FIN-006,Manual Invoice Entry,2026-01-02 10:00,2026-01-02 10:18,TRUE,Legacy ERP
FIN-007,Statement Reconciliation,2026-01-02 10:15,2026-01-02 11:00,FALSE,Cloud Finance Platform
FIN-008,Query Resolution,2026-01-02 10:30,2026-01-02 11:55,FALSE,Manual Spreadsheet
FIN-009,Payment Processing,2026-01-02 11:00,2026-01-02 11:15,FALSE,Cloud Finance Platform
FIN-010,Manual Invoice Entry,2026-01-02 11:30,2026-01-02 11:48,FALSE,Legacy ERP
FIN-001,Report Generation,2026-01-02 13:00,2026-01-02 13:40,FALSE,Manual Spreadsheet
FIN-002,Query Resolution,2026-01-02 13:15,2026-01-02 14:00,TRUE,Legacy ERP
FIN-003,Manual Invoice Entry,2026-01-02 13:30,2026-01-02 13:44,FALSE,Cloud Finance Platform
FIN-004,Statement Reconciliation,2026-01-02 14:00,2026-01-02 15:20,TRUE,Legacy ERP
FIN-005,Payment Processing,2026-01-02 14:30,2026-01-02 14:48,FALSE,Cloud Finance Platform
FIN-006,Query Resolution,2026-01-02 15:00,2026-01-02 15:35,FALSE,Cloud Finance Platform
FIN-007,Manual Invoice Entry,2026-01-02 15:15,2026-01-02 15:30,FALSE,Legacy ERP
FIN-008,Report Generation,2026-01-02 15:30,2026-01-02 16:15,FALSE,Manual Spreadsheet
FIN-009,Statement Reconciliation,2026-01-02 16:00,2026-01-02 17:10,FALSE,Legacy ERP
FIN-010,Payment Processing,2026-01-02 16:30,2026-01-02 16:45,TRUE,Legacy ERP
FIN-001,Manual Invoice Entry,2026-01-03 08:20,2026-01-03 08:38,FALSE,Legacy ERP
FIN-002,Payment Processing,2026-01-03 08:45,2026-01-03 09:02,FALSE,Cloud Finance Platform
FIN-003,Statement Reconciliation,2026-01-03 09:00,2026-01-03 10:15,FALSE,Cloud Finance Platform
FIN-004,Query Resolution,2026-01-03 09:30,2026-01-03 10:50,FALSE,Legacy ERP
FIN-005,Manual Invoice Entry,2026-01-03 10:00,2026-01-03 10:14,FALSE,Cloud Finance Platform
FIN-006,Report Generation,2026-01-03 10:30,2026-01-03 11:10,TRUE,Manual Spreadsheet
FIN-007,Payment Processing,2026-01-03 11:00,2026-01-03 11:18,FALSE,Legacy ERP
FIN-008,Manual Invoice Entry,2026-01-03 11:15,2026-01-03 11:33,TRUE,Legacy ERP
FIN-009,Query Resolution,2026-01-03 13:00,2026-01-03 13:28,FALSE,Cloud Finance Platform
FIN-010,Statement Reconciliation,2026-01-03 13:30,2026-01-03 14:50,FALSE,Legacy ERP
FIN-001,Payment Processing,2026-01-03 14:00,2026-01-03 14:20,FALSE,Cloud Finance Platform
FIN-002,Manual Invoice Entry,2026-01-03 14:15,2026-01-03 14:30,FALSE,Legacy ERP
FIN-003,Report Generation,2026-01-03 14:30,2026-01-03 15:05,FALSE,Manual Spreadsheet
FIN-004,Manual Invoice Entry,2026-01-03 15:00,2026-01-03 15:22,TRUE,Legacy ERP
FIN-005,Query Resolution,2026-01-03 15:30,2026-01-03 16:45,FALSE,Legacy ERP
FIN-006,Statement Reconciliation,2026-01-03 16:00,2026-01-03 17:05,FALSE,Cloud Finance Platform
FIN-007,Manual Invoice Entry,2026-01-06 08:00,2026-01-06 08:16,FALSE,Cloud Finance Platform
FIN-008,Payment Processing,2026-01-06 08:30,2026-01-06 08:48,FALSE,Legacy ERP
FIN-009,Report Generation,2026-01-06 09:00,2026-01-06 09:35,FALSE,Manual Spreadsheet
FIN-010,Query Resolution,2026-01-06 09:15,2026-01-06 10:30,TRUE,Legacy ERP

Your raw data is ready. Next up, you will import both CSV files into Power BI Desktop and build a data model that connects them.

Import Data and Build the Data Model

Your two CSV files are ready. Now you need to bring them into Power BI Desktop so the tool can work with the data.

In this step, you will import both files, connect them with a relationship, and add a calculated column that computes how long each task took. This gives Power BI the foundation it needs to power your dashboard visuals later.

In this step, get ready to:
  • Import both CSV files into Power BI Desktop.
  • Create a relationship between the two tables.
  • Add a calculated column for task duration.
Import the operations log CSV

Power BI Desktop needs to load your data before it can visualize anything. You will use the Text/CSV connector to bring in finance_ops_log.csv first.

  • In Power BI Desktop, click Home in the top ribbon.
  • Click Get Data.
  • Select Text/CSV from the list.
  • Browse to the location where you saved finance_ops_log.csv and click Open.

A Navigator preview window appears showing a sample of your data.

  • In the preview, verify that StartTime and EndTime show as DateTime values (with full date and time).
  • Verify that ErrorFlag shows as True/False values.
  • Click Load to import the data into your model.

What does Load do?

Clicking Load imports the CSV data directly into Power BI's in-memory data model. The alternative, Transform Data, opens the Power Query Editor for cleaning and reshaping first.

Since your CSV is already well-structured with correct headers and data formats, you can load it directly without transformation.

  • After loading completes, check the Fields pane on the right side of the screen. You should see finance_ops_log listed as a table with all six columns (EmployeeID, TaskType, StartTime, EndTime, ErrorFlag, SystemUsed).

Don't see your columns?

If StartTime or EndTime show as text instead of DateTime, Power BI may not have auto-detected the types. Click Transform Data in the Home ribbon, select the column, and choose the Date/Time data type from the Data Type dropdown in the Transform group.

If you do not see the table at all, confirm you clicked Load (not Cancel) in the Navigator window.

Help me troubleshoot my CSV import in Power BI Desktop.

Import the benchmarks table and create a relationship

Your second CSV contains the reference data that maps each task type to its automation potential and cost. After importing it, you will connect the two tables so Power BI can combine their data in calculations.

  • Click Home in the top ribbon.
  • Click Get Data.
  • Select Text/CSV again.
  • Browse to task_benchmarks.csv and click Open.
  • In the Navigator preview, verify you see five rows (one per task type) with columns TaskType, AvgManualMinutes, AutomationPotential, and HourlyCost.
  • Click Load.

Both tables now appear in the Fields pane. Next, you will create a relationship between them.

  • Click the Model view icon in the left sidebar (it looks like a diagram of connected boxes).
  • Drag the TaskType field from the finance_ops_log table card and drop it onto the TaskType field in the task_benchmarks table card.

A line appears between the two tables, indicating a one-to-many relationship. Each benchmark row (one) maps to many operations log entries.

What is a data model relationship?

A relationship in Power BI connects two tables on a shared column. This lets you combine data from both tables in a single visual without merging them into one flat spreadsheet.

Here, the TaskType column acts as the shared key. Every time Power BI calculates a measure that references both tables, it uses this relationship to look up the matching benchmark for each operations log entry.

  • Verify the relationship line shows a "1" on the task_benchmarks side and an asterisk (*) on the finance_ops_log side. This confirms the one-to-many cardinality.

Don't see a relationship line?

Make sure you dragged from TaskType in one table directly onto TaskType in the other table. If the column names do not match exactly (check for trailing spaces), Power BI will not create the link.

If the drag-and-drop did not work, you can also click the Modeling tab, then select Manage relationships, then click New to create the relationship manually.

Help me create a relationship between my two tables.

Add a calculated column for task duration

Your CSV stores start and end times, but not how long each task took. You need a calculated column that computes the difference in minutes. DAX (Data Analysis Expressions) is Power BI's formula language for creating these calculations.

  • In Model view, click on the finance_ops_log table card to select it.
  • Click Table tools in the top ribbon.
  • Click New column.
  • In the formula bar that appears at the top of the canvas, enter the following DAX formula:
DurationMinutes = DATEDIFF([StartTime], [EndTime], MINUTE)
  • Press Enter to confirm the formula.

What does this formula do?

DATEDIFF calculates the difference between two DateTime values. The third argument (MINUTE) tells it to return the result in minutes.

For a task that started at 08:15 and ended at 08:32, DurationMinutes would equal 17. This column now exists on every row in your operations log, ready for aggregation in measures.

  • Switch to Table view (the grid icon in the left sidebar) and select the finance_ops_log table from the Fields pane.
  • Scroll to the rightmost column. You should see DurationMinutes with numeric values (e.g., 17, 75, 42) for each row.

Seeing an error in the formula bar?

Check that your column names match exactly: [StartTime] and [EndTime]. If your CSV headers had different capitalization or extra spaces, the formula will not recognize them.

Also confirm you selected the finance_ops_log table before clicking New column. If the wrong table is selected, the column references will not resolve.

Help me fix my DurationMinutes calculated column.

✔️ Awesome, I've got everything!

Great. Double check you have both tables loaded, a relationship line between them, and the DurationMinutes column showing numeric values in Table view.

ⓧ I'd like to double check the full data model

Your data model should have the following state:

  • finance_ops_log table with columns: EmployeeID, TaskType, StartTime (DateTime), EndTime (DateTime), ErrorFlag (True/False), SystemUsed, DurationMinutes (calculated).
  • task_benchmarks table with columns: TaskType, AvgManualMinutes, AutomationPotential, HourlyCost.
  • One-to-many relationship from task_benchmarks[TaskType] (one) to finance_ops_log[TaskType] (many).

The calculated column formula is:

DurationMinutes = DATEDIFF([StartTime], [EndTime], MINUTE)

Your data model is set up and ready. Next, you will write DAX measures that calculate productivity KPIs like error rates and average resolution times.

Build Core Productivity Measures

Your data model is loaded and connected. Now you need to turn that raw data into meaningful business metrics that stakeholders can act on.

In this step, you will write three DAX measures that answer core productivity questions: how long does it take to resolve a query, how often do errors occur, and how many total hours is the team spending on manual tasks.

In this step, get ready to:
  • Create a Mean Time to Resolve measure that calculates average query resolution duration.
  • Create an Error Rate per 100 Transactions measure that quantifies error frequency.
  • Create a Total Hours Spent measure that converts task minutes into hours.
Create the Mean Time to Resolve measure

The first metric stakeholders want to know is how long it takes to resolve a query. A DAX measure calculates on the fly whenever it appears in a visual, responding to whatever filters are active.

  • In the Data pane on the right side of Power BI Desktop, click the finance_ops_log table to select it.
  • In the ribbon, click the Home tab, then click New Measure in the Calculations group.
  • The formula bar appears at the top of the canvas. Replace the default text with the following DAX formula:
Mean Time to Resolve = 
    AVERAGEX(
        FILTER(finance_ops_log, finance_ops_log[TaskType] = "Query Resolution"),
        finance_ops_log[DurationMinutes]
    )
  • Press Enter or click the checkmark icon in the formula bar to commit the measure.

What does this measure do?

FILTER narrows the table down to only rows where TaskType equals "Query Resolution".

AVERAGEX then evaluates DurationMinutes row by row on that filtered set and returns the arithmetic mean. This gives you the average time (in minutes) it takes your team to close a query.

  • Verify the measure was created by expanding the finance_ops_log table in the Data pane. You should see Mean Time to Resolve listed with a calculator icon next to it.

Seeing a syntax error in the formula bar?

Check that every opening parenthesis has a matching closing parenthesis. Syntax errors are most often caused by a missing or misplaced parenthesis.

Make sure the table name finance_ops_log matches exactly how it appears in your Data pane. If your CSV imported with a different name, use that name instead.

Help me fix my DAX formula for Mean Time to Resolve

Create the Error Rate per 100 Transactions measure

Error rate tells managers which systems and task types are generating the most mistakes. This measure counts error rows as a percentage of all transactions, scaled to per-100 for readability.

  • With the finance_ops_log table still selected in the Data pane, click Home > New Measure.
  • Enter the following DAX formula in the formula bar:
Error Rate per 100 = 
    DIVIDE(
        CALCULATE(COUNTROWS(finance_ops_log), finance_ops_log[ErrorFlag] = TRUE),
        COUNTROWS(finance_ops_log)
    ) * 100
  • Press Enter to commit the measure.

What does this measure do?

CALCULATE evaluates COUNTROWS in a modified filter context where only rows with ErrorFlag = TRUE are counted. This is the canonical DAX pattern for conditional aggregation.

DIVIDE safely divides the error count by the total row count (avoiding divide-by-zero errors). Multiplying by 100 converts the ratio into a rate per 100 transactions.

  • Confirm Error Rate per 100 now appears in the Data pane under finance_ops_log with a calculator icon.

Measure shows a blank or unexpected value?

Verify that your ErrorFlag column imported as True/False (Boolean type). If it imported as text, the filter finance_ops_log[ErrorFlag] = TRUE will not match any rows.

Help me troubleshoot my Error Rate DAX measure

Create the Total Hours Spent measure

The final baseline measure converts task duration from minutes into hours. This makes the numbers immediately meaningful to managers who think in terms of employee-hours and headcount.

  • With finance_ops_log still selected, click Home > New Measure.
  • Enter the following DAX formula in the formula bar:
Total Hours Spent = 
    DIVIDE(SUM(finance_ops_log[DurationMinutes]), 60)
  • Press Enter to commit the measure.

What does this measure do?

SUM(finance_ops_log[DurationMinutes]) adds up all task durations in the current filter context. DIVIDE converts that total from minutes to hours by dividing by 60. Using DIVIDE instead of the / operator protects against divide-by-zero scenarios when filters exclude all rows.

  • Confirm Total Hours Spent appears in the Data pane with a calculator icon.

Don't see the calculator icon?

If you see a column icon (a table-column symbol) instead of a calculator icon, you may have accidentally created a calculated column instead of a measure. Delete it, re-select the table, and use Home > New Measure (not New Column).

Help me fix my Total Hours Spent measure

✔️ Awesome, I've got everything!

Great. You should now see all three measures listed under finance_ops_log in the Data pane, each with a calculator icon.

ⓧ I'd like to double check the full code

Here are all three measures you should have created on the finance_ops_log table. Compare each one to what appears in your formula bar when you click the measure name in the Data pane.

// Measure: Mean Time to Resolve Query
Mean Time to Resolve = 
    AVERAGEX(
        FILTER(finance_ops_log, finance_ops_log[TaskType] = "Query Resolution"),
        finance_ops_log[DurationMinutes]
    )

// Measure: Error Rate per 100 Transactions
Error Rate per 100 = 
    DIVIDE(
        CALCULATE(COUNTROWS(finance_ops_log), finance_ops_log[ErrorFlag] = TRUE),
        COUNTROWS(finance_ops_log)
    ) * 100

// Measure: Total Hours Spent
Total Hours Spent = 
    DIVIDE(SUM(finance_ops_log[DurationMinutes]), 60)

You now have three baseline productivity measures that quantify your finance team's current workload. Next up, you will build a what-if parameter that lets stakeholders slide an automation percentage and instantly see projected savings.

Create the Automation Value What-If Parameter

Your measures now quantify the current state of operations. The next step is giving stakeholders a way to explore the future.

Power BI's what-if parameter feature creates an interactive slider that feeds a user-selected value directly into your DAX measures. You will use it to build an "Automation Value" simulator where stakeholders drag a slider from 0% to 100% automation and instantly see projected savings update.

In this step, get ready to:
  • Create a what-if parameter that represents automation percentage.
  • Build a Projected Hours Saved measure that reacts to the parameter slider.
  • Build an Annual Cost Savings measure for financial projections.
Create the Percent Automated what-if parameter

A what-if parameter generates a small table of values (in this case, 0 through 1 in 0.05 increments) and a slicer control that lets the user pick one of those values. Power BI then exposes the selected value as a measure you can reference in other calculations.

  • In Power BI Desktop, click the Modeling tab in the top ribbon.
  • Click New parameter.
  • Select Numeric range.

A dialog box appears with fields to configure your parameter.

  • Set Name to Percent Automated.
  • Set Data type to Decimal number.
  • Set Minimum to 0.
  • Set Maximum to 1 (this represents 0% to 100%).
  • Set Increment to 0.05 (each step on the slider represents a 5% change).
  • Check the Add slicer to this page checkbox.
  • Click Create.

A slicer visual appears on your report canvas. You should also see a new table called Percent Automated in your Fields pane on the right, with a measure called Percent Automated Value inside it.

What did Power BI just create?

The what-if parameter feature auto-generates three things: a disconnected table containing the values 0, 0.05, 0.10, ... up to 1.00, a slicer visual bound to that table, and a measure called Percent Automated Value that returns whatever the user currently has selected on the slider.

You will reference this auto-generated measure inside your own DAX calculations so they update dynamically when a stakeholder moves the slider.

Don't see the Modeling tab?

Make sure you are in Report view (the bar chart icon in the left sidebar). The Modeling tab only appears in Report view, not in Data view or Model view.

help me find the Modeling tab in Power BI Desktop

Create the Projected Hours Saved measure

This measure multiplies total hours worked by the automation percentage the user selects, then scales by each task's automation potential from the benchmarks table. The result shows how many hours would be freed up at the chosen automation level.

  • Select the finance_ops_log table in the Fields pane.
  • Click Home > New measure in the Calculations group.
  • Enter the following DAX formula in the formula bar:
Projected Hours Saved = 
    [Total Hours Spent] * SELECTEDVALUE('Percent Automated'[Percent Automated Value]) * AVERAGE(task_benchmarks[AutomationPotential])

What does this measure do?

  • [Total Hours Spent] references the measure you created in the previous step. It returns the total hours across all filtered rows.
  • SELECTEDVALUE('Percent Automated'[Percent Automated Value]) grabs whatever value the user has chosen on the slider (e.g., 0.50 for 50%).
  • AVERAGE(task_benchmarks[AutomationPotential]) pulls the average automation potential from the benchmarks table, weighting the projection by how automatable the tasks actually are.
  • Press Enter to commit the measure.
  • Verify that Projected Hours Saved appears under the finance_ops_log table in the Fields pane.

Seeing an error in the formula bar?

Check that the parameter table name in single quotes matches exactly: 'Percent Automated'. If you named the parameter differently during creation, update the reference to match.

Also confirm the column name is Percent Automated Value (with a space before "Value"). This is the auto-generated measure name that Power BI created.

help me fix my Projected Hours Saved DAX measure

Create the Annual Cost Savings measure

This measure converts projected hours saved into a dollar figure. Since your dataset covers one quarter (3 months), multiplying by 4 projects the savings to a full year.

  • With the finance_ops_log table still selected, click Home > New measure.
  • Enter the following DAX formula in the formula bar:
Annual Cost Savings = 
    [Projected Hours Saved] * 4 * AVERAGE(task_benchmarks[HourlyCost])

What does this measure do?

  • [Projected Hours Saved] references the measure you just created. It already factors in the slider value and automation potential.
  • * 4 extrapolates one quarter of savings to a full year (your dataset covers January through March).
  • AVERAGE(task_benchmarks[HourlyCost]) multiplies saved hours by the average cost per hour from the benchmarks table, converting time into money.
  • Press Enter to commit the measure.
  • Verify that Annual Cost Savings appears under the finance_ops_log table in the Fields pane.
  • Test the parameter by moving the Percent Automated slicer on your canvas to 0.50.
  • Drag Projected Hours Saved and Annual Cost Savings from the Fields pane onto the canvas as Card visuals. You should see non-zero values that change when you move the slider.

Seeing blank or zero values in the cards?

Make sure the slicer is set to a value greater than 0. At 0, projected hours saved will naturally be zero since nothing is being automated.

If you see a blank (not zero), check that the relationship between finance_ops_log and task_benchmarks still exists in Model view. The AVERAGE(task_benchmarks[AutomationPotential]) calculation requires access to the benchmarks table.

help me debug my what-if parameter measures

Why what-if parameters instead of hardcoded scenarios?

You could create separate measures for "50% automation" and "75% automation" as fixed scenarios. The what-if parameter is better because it lets stakeholders explore any value on the spectrum themselves. Self-service exploration builds buy-in faster than a fixed set of assumptions.

✔️ Awesome, I've got everything!

Great. Make sure you save your Power BI file (Ctrl+S).

ⓧ I'd like to double check the full code

Here are all the DAX measures you should have at this point, including the ones from the previous step and the new measures from this step:

// Calculated Column (on finance_ops_log table)
DurationMinutes = DATEDIFF([StartTime], [EndTime], MINUTE)

// Measure: Mean Time to Resolve Query
Mean Time to Resolve = 
    AVERAGEX(
        FILTER(finance_ops_log, finance_ops_log[TaskType] = "Query Resolution"),
        finance_ops_log[DurationMinutes]
    )

// Measure: Error Rate per 100 Transactions
Error Rate per 100 = 
    DIVIDE(
        CALCULATE(COUNTROWS(finance_ops_log), finance_ops_log[ErrorFlag] = TRUE),
        COUNTROWS(finance_ops_log)
    ) * 100

// Measure: Total Hours Spent
Total Hours Spent = 
    DIVIDE(SUM(finance_ops_log[DurationMinutes]), 60)

// Measure: Projected Hours Saved (uses what-if parameter)
Projected Hours Saved = 
    [Total Hours Spent] * SELECTEDVALUE('Percent Automated'[Percent Automated Value]) * AVERAGE(task_benchmarks[AutomationPotential])

// Measure: Annual Cost Savings
Annual Cost Savings = 
    [Projected Hours Saved] * 4 * AVERAGE(task_benchmarks[HourlyCost])

Your dashboard now has an interactive automation simulator. Next, you will design the visual layout across three report pages so stakeholders can explore operations, errors, and ROI projections at a glance.

Design the Dashboard Visuals

Your data model is loaded, your measures are defined, and the what-if parameter is ready to drive dynamic projections. Now it's time to bring all of that work to life visually.

In this step, you'll design three report pages in Power BI Desktop. Each page answers a different stakeholder question: "How productive are we?", "Where do errors happen?", and "What's the value of automation?"

In this step, get ready to:
  • Build the Operations Overview page with a KPI card and comparison charts.
  • Create the Error Analysis page with a matrix and employee breakdown.
  • Design the Automation ROI page with interactive what-if controls and projected savings.
Build the Operations Overview page

The first report page gives stakeholders a bird's-eye view of how much time the finance team spends on each task type and which systems they use most.

  • In Power BI Desktop, look at the page tab at the bottom of the canvas. It should currently say Page 1.
  • Double-click the Page 1 tab name to highlight it.
  • Type Operations Overview and press Enter.

Why rename pages?

Named pages help stakeholders navigate your report independently. Instead of guessing what "Page 1" contains, they immediately see it's the Operations Overview.

If you see the Percent Automated slicer on this page from Step 5, select it and press Delete. You'll place it on the correct page later.

  • Click on an empty area of the canvas to deselect any visuals.
  • In the Visualizations pane on the right, select the Build visual tab.
  • Select the Card visual from the visual gallery.
  • In the Data pane, expand the finance_ops_log table.
  • Drag Total Hours Spent (your measure) into the Values field well.
  • Position the Card visual in the top-left area of the canvas by dragging it.

What is a Card visual?

A Card visual displays a single key metric prominently. It's the go-to visual for highlighting one number that executives need to see at a glance, like total hours spent across all tasks.

  • Click an empty area of the canvas to deselect the Card.
  • In the Visualizations pane, select the Clustered bar chart visual.
  • Drag TaskType from finance_ops_log into the Y-axis field well.
  • Drag DurationMinutes into the X-axis field well.
  • In the X-axis field well, click the dropdown arrow next to DurationMinutes and select Average.
  • Position this chart below or beside the Card visual.

Why average instead of sum?

Average duration per task type shows how long each task typically takes. Sum would just reflect volume (more transactions means higher total), which doesn't help compare task difficulty.

  • Click an empty area of the canvas to deselect.
  • In the Visualizations pane, select the Donut chart visual.
  • Drag SystemUsed from finance_ops_log into the Legend field well.
  • Drag EmployeeID into the Values field well. Power BI will automatically count the rows.
  • Position the Donut chart on the right side of the canvas.

Your Operations Overview page should now show three visuals: a Card with total hours, a Clustered bar chart comparing average task durations, and a Donut chart showing the transaction split across systems.

Don't see data in your visuals?

Make sure you're dragging fields from the correct table (finance_ops_log). Measures appear with a calculator icon in the Data pane, while columns appear with a table icon.

If the Card shows blank, confirm that Total Hours Spent is the measure (calculator icon), not the field name.

help me troubleshoot why my Power BI visuals aren't showing data

Create the Error Analysis page

The second page focuses on where errors concentrate. A Matrix visual cross-references task types against systems, while a bar chart highlights which employees might need additional training.

  • At the bottom of the Power BI canvas, click the + (green plus) icon to add a new page.
  • Double-click the new page tab name.
  • Type Error Analysis and press Enter.
  • In the Visualizations pane, select the Matrix visual.
  • Drag TaskType into the Rows field well.
  • Drag SystemUsed into the Columns field well.
  • Drag the Error Rate per 100 measure into the Values field well.
  • Position the Matrix in the top half of the canvas.

What does the Matrix visual show?

The Matrix creates a grid with task types as rows and systems as columns. Each cell shows the error rate for that combination. This lets you instantly spot which system-task pairings produce the most errors.

You should see higher error rates in the Legacy ERP column, especially for manual tasks. This is the data story your dataset was designed to tell.

  • Click an empty area of the canvas to deselect.
  • In the Visualizations pane, select the Stacked bar chart visual.
  • Drag EmployeeID into the Y-axis field well.
  • Drag ErrorFlag into the X-axis field well.
  • In the X-axis field well, click the dropdown arrow next to ErrorFlag and make sure it is set to Count (count of TRUE values).
  • Position this chart in the bottom half of the canvas, below the Matrix.

Why track errors by employee?

This visual identifies training opportunities. If certain employees have disproportionately high error counts, the operations manager can target coaching rather than blanket automation. It frames automation as a complement to training, not a replacement for people.

Your Error Analysis page should now display two visuals: a Matrix showing error rates across task-system combinations, and a Stacked bar chart showing error count per employee.

Matrix showing unexpected values?

Confirm you dragged the Error Rate per 100 measure (calculator icon) into Values, not the raw ErrorFlag column. The measure applies the DIVIDE and CALCULATE logic. The raw column would just show TRUE/FALSE counts.

help me fix my Matrix visual values

Design the Automation ROI page

The final page is the centerpiece of your dashboard. It connects the what-if parameter slider to projected savings visuals, letting stakeholders interactively answer "What if we automate X% of these tasks?"

  • Click the + icon at the bottom to add a third page.
  • Double-click the new tab name.
  • Type Automation ROI and press Enter.
  • In the Visualizations pane, select the Slicer visual.
  • In the Data pane, expand the Percent Automated table.
  • Drag Percent Automated into the Field well of the Slicer.
  • Position the Slicer at the top of the page and stretch it to span the full width.

What is a Slicer?

A Slicer is an on-canvas filter control. When stakeholders drag the slider from 0% to 100%, every visual on the same page that references the Percent Automated parameter updates instantly. This is what makes the dashboard interactive.

  • Click an empty area below the Slicer to deselect.
  • Select the Card visual from the Visualizations pane.
  • Drag Projected Hours Saved into the Values field well.
  • Position this Card below the Slicer on the left side.
  • Click an empty area to deselect.
  • Select the Card visual again.
  • Drag Annual Cost Savings into the Values field well.
  • Position this Card next to the Projected Hours Saved card.
  • Click an empty area to deselect.
  • In the Visualizations pane, select the Clustered column chart visual.
  • Drag TaskType from finance_ops_log into the X-axis field well.
  • Drag Projected Hours Saved into the Y-axis field well.
  • Position this chart below the two Card visuals, taking up the remaining canvas space.

Now test the interactivity. Drag the Percent Automated slider to different positions (try 0.50 for 50%). The Card values and column chart should update immediately as you move the slider.

Why break down hours saved by task type?

The Clustered column chart shows stakeholders which tasks deliver the highest ROI from automation. Manual Invoice Entry with 85% automation potential will always show the tallest bar. This helps prioritize which processes to automate first.

Save your report by pressing Ctrl+S (Windows).

Slicer not affecting the Card visuals?

Confirm that both Card visuals use the measures Projected Hours Saved and Annual Cost Savings (these reference the Percent Automated parameter internally). If you accidentally dragged a table column instead of the measure, the slicer won't affect it.

Also verify your Slicer uses the Percent Automated field from the Percent Automated table, not a similarly named column from another table.

help me fix my what-if slicer interaction

Your dashboard is visually complete and interactive. Next up, you'll translate these data insights into a written case study that speaks the language of business stakeholders.

Write the Stakeholder Case Study

Your dashboard is complete with three pages of interactive visuals and dynamic automation projections. Now comes the step that turns data into action.

A dashboard alone rarely secures budget. Decision-makers need a written narrative that frames the numbers as business problems and proposes a clear path forward. In this step, you'll write a stakeholder case study that translates your dashboard metrics into a compelling business case for automation investment.

In this step, get ready to:
  • Create a structured case study document with four key sections.
  • Reference specific dashboard metrics to quantify the current problem.
  • Write a recommendation with automation targets and projected cost savings.
Create the case study document structure

The case study follows a standard business case framework that operations managers and finance directors expect to see. Each section builds logically from problem to solution.

  • Open your word processor (Microsoft Word or Google Docs).
  • Create a new blank document.
  • Set the document title to Business Case: Automation of Back-Office Finance Operations.
  • Add the following section headings, each on its own line:
  • Executive Summary
  • Current State Analysis
  • Opportunity Identification
  • Recommendation
  • Under Executive Summary, write 2-3 sentences that summarize the analysis at a glance. State what you analyzed (3 months of finance operations data), what you found (inefficiencies in manual processes), and what you recommend (targeted automation of high-volume repetitive tasks).

Why this structure?

This four-section framework mirrors how real analysts present to cross-functional managers. The Executive Summary lets a busy director absorb the key point in 30 seconds. The remaining sections provide evidence for anyone who wants to dig deeper.

Write the Current State Analysis section

The Current State section is where your dashboard earns its keep. You will pull specific numbers from your visuals and frame them as business problems that cost the organization time and money.

  • Switch back to Power BI Desktop.
  • On the Operations Overview page, note the value shown in your Total Hours Spent Card visual.
  • Navigate to the Error Analysis page. In the Matrix visual, compare the Error Rate per 100 values between Legacy ERP and Cloud Finance Platform.
  • On the Automation ROI page, check the Mean Time to Resolve value (you may also find this by hovering over the Query Resolution bar on Page 1).
  • Return to your case study document.
  • Under Current State Analysis, write a paragraph that cites all three metrics you just collected:
  • The Mean Time to Resolve Query value, framed as a bottleneck (e.g., "Query resolution averages X minutes, creating downstream delays for month-end close").
  • The Error Rate difference between Legacy ERP and Cloud Finance Platform, framed as a quality gap (e.g., "Error rates on Legacy ERP are X per 100 transactions versus Y on Cloud Finance Platform").
  • The total monthly hours spent on automatable tasks, framed as an opportunity cost (e.g., "The team spends X hours per quarter on tasks with high automation potential").

Why frame metrics as business problems?

Stakeholders do not care about a number in isolation. They care about what it costs the business. "40 minutes average resolution time" means nothing to a VP. "40 minutes average resolution time, delaying month-end close by 2 days" tells them exactly why this matters.

  • Under Opportunity Identification, write a paragraph identifying the top 2-3 tasks with the highest automation ROI. Reference the AutomationPotential values from your task_benchmarks.csv and the Clustered column chart on Page 3 that shows Projected Hours Saved by TaskType.
  • Explain why these specific tasks are the best candidates: they combine high volume, high error rates, and high automation potential.

Use your slicer to find the sweet spot

Drag the Percent Automated slicer to different values on Page 3 and watch how Projected Hours Saved and Annual Cost Savings change. The value where returns start flattening is a realistic target to cite in your Recommendation section.

Write the Recommendation and Next Steps

The Recommendation section is where you make your ask. A good recommendation is specific, quantified, and actionable.

  • Under Recommendation, propose automating the top 2-3 highest-potential tasks at a specific percentage. Use the projected values from your dashboard's what-if parameter slicer.
  • Write the recommendation in this format: "Automating 70% of Manual Invoice Entry and 60% of Statement Reconciliation would save approximately X hours per quarter, equivalent to $Y annually." Replace X and Y with the actual values from your Card visuals on Page 3.
  • Below the recommendation paragraph, add a sub-heading called Next Steps.
  • Under Next Steps, add three bullet points covering:
  • Pilot program scope: Which specific task and team will run the first automation pilot, and for how long (e.g., 4-6 weeks).
  • Vendor evaluation criteria: What criteria should guide tool selection (integration with existing systems, ease of configuration, support for the identified task types).
  • Success metrics: How you will measure whether the pilot succeeded (e.g., 50% reduction in error rate, 30% reduction in Mean Time to Resolve Query).

What makes a strong recommendation?

A strong recommendation removes ambiguity. Instead of "we should automate more tasks," it says exactly which tasks, what percentage, how much savings to expect, and what to do first. This specificity gives decision-makers confidence to approve the investment.

  • Review your complete document. It should be 1-2 pages with all four sections filled in.
  • Verify that your Executive Summary, Current State Analysis, Opportunity Identification, and Recommendation sections each contain specific numbers from your dashboard.
  • Save your document.

Not sure what numbers to use?

If your dashboard metrics look unexpected, double-check that your dataset has 500+ rows with the data patterns described in Step 2 (higher error rates on Legacy ERP, wider variance on Query Resolution). The numbers you cite in the case study should match what your Card visuals and Matrix show.

Help me verify my dashboard metrics match my dataset patterns.

✔️ Awesome, I've got everything!

Great. Make sure your document is saved. You now have both a technical artifact (the dashboard) and a communication artifact (the case study) ready to share.

ⓧ I'd like to double check the document structure

Your case study should have this structure:

  • Title: "Business Case: Automation of Back-Office Finance Operations".
  • Executive Summary: 2-3 sentences summarizing the analysis, key finding, and recommendation.
  • Current State Analysis: Cites Mean Time to Resolve Query, Error Rate difference between Legacy ERP and Cloud Finance Platform, and total monthly hours on automatable tasks. Each metric is framed as a business problem.
  • Opportunity Identification: Names the top 2-3 tasks by automation ROI with reasoning.
  • Recommendation: Specific automation percentage targets with projected hours saved and annual dollar savings.
  • Next Steps: Three bullets covering pilot program scope, vendor evaluation criteria, and success metrics.

Secret mission

Break-Even Analysis Page

Your dashboard shows projected savings, but stakeholders always ask the same question: how long until the automation tool pays for itself? Add a fourth report page that calculates break-even months and visualizes cumulative cost vs. cumulative savings over a 24-month horizon.

Clean Up Your Resources

Clean Up Your Resources

This project runs entirely locally, so there are no ongoing costs or cloud resources to worry about. Decide whether to keep your resources as-is, close Power BI Desktop to free up memory, or delete everything entirely.

Resources you used:

  • Power BI Desktop (installed application).
  • finance_ops_log.csv and task_benchmarks.csv (local CSV files).
  • Power BI report file (.pbix).
  • Stakeholder case study document.

Keep everything running

No action needed. Choose this if you plan to continue refining your dashboard, adding more data, or expanding the case study.

  • Your .pbix file, CSV datasets, and case study document remain on your machine ready for future edits.
  • Power BI Desktop stays installed for when you want to build new reports.

Pause - I'll come back to this later

Close Power BI Desktop to free up memory. Your files stay on disk so you can pick up where you left off.

  • Save your Power BI report by pressing Ctrl+S.
  • Close Power BI Desktop.
  • Your .pbix file, CSVs, and case study document stay where they are. Double-click the .pbix file to reopen everything later.

Delete - I don't want to use this again

Remove all project files and optionally uninstall Power BI Desktop to start fresh.

  • Close Power BI Desktop if it is still open.
  • Delete your finance_ops_log.csv, task_benchmarks.csv, your .pbix report file, and your case study document. You can do this by selecting all the files in File Explorer, right-clicking, and choosing Delete.
  • To uninstall Power BI Desktop, open Settings by pressing the Windows key and typing Settings.
  • Select Apps, then Installed apps.
  • Search for Power BI Desktop in the list, click the three-dot menu next to it, and select Uninstall.
  • Follow the uninstall prompts to complete removal.

Nice Work!

Nice Work!

You did it. You have built a complete Business Intelligence deliverable from scratch, combining a Power BI dashboard with a written case study that translates operational data into a compelling business case for automation investment.

You've learned how to:

  • Built a multi-page Power BI dashboard with DAX measures for productivity KPIs and automation ROI projections.
  • Created an interactive what-if parameter simulator that lets stakeholders dynamically explore how different automation percentages impact hours saved and cost reduction.
  • Authored a stakeholder case study that frames dashboard metrics as business problems and recommendations, demonstrating how analysts communicate data insights to cross-functional teams.
  • Built a break-even analysis page with conditional formatting and dual-line projections showing exactly when automation tool costs are recouped by savings.

Ready to quiz yourself?