Thursday, May 15, 2025

Actual vs Budget Dashboard

🧩 Actual vs Budget Dashboard – Power BI Project (with SQL)

1. Project Objective

"To build an interactive Power BI dashboard comparing actual financials to budgeted values, enabling business users to track variances and make proactive decisions on cost management and performance optimization."


πŸ› ️ 2. Tools & Technologies

  • Data Source: SQL Server (Actuals), Excel (Budget)

  • ETL: Power Query (for Excel), SQL (for database querying)

  • Visualization: Power BI Desktop + Power BI Service


πŸ—‚️ 3. Data Model & Prep

"I connected to SQL Server for actuals and imported budget files from Excel. I used Power Query to clean and transform data."

  • Merged Actuals and Budget using a Date Dimension and Cost Center dimension

  • Created a star schema model: Fact_Actuals, Fact_Budget, Dim_Date, Dim_Department

  • Created relationships for time intelligence and drilldowns


πŸ” 4. DAX Measures Created

  • Actual Revenue = SUM(Fact_Actuals[Revenue])

  • Budget Revenue = SUM(Fact_Budget[Revenue])

  • Variance = [Actual Revenue] - [Budget Revenue]

  • Variance % = DIVIDE([Variance], [Budget Revenue])

  • YTD Actual = TOTALYTD([Actual Revenue], Dim_Date[Date])


πŸ“Š 5. Visuals on Dashboard

  • Clustered Column Chart: Month-wise Actual vs Budget

  • KPI Cards: Revenue, Expenses, Profit, and their % Variance

  • Matrix/Table: Department-wise breakdown

  • Waterfall Chart: Shows contribution to Net Profit

  • Slicers: Month, Department, Region, Category


🚩 6. Interactive Features

  • Drill-down and drill-through to department level

  • Dynamic titles & conditional formatting (e.g., red for negative variances)

  • Export to Excel functionality for monthly board reporting

  • Row-level security for department heads


🧠 7. Business Logic (via SQL for Actuals)

SELECT DepartmentID, SUM(Revenue) AS ActualRevenue, SUM(Expense) AS ActualExpense, MONTH(TransactionDate) AS Month, YEAR(TransactionDate) AS Year FROM Actuals GROUP BY DepartmentID, MONTH(TransactionDate), YEAR(TransactionDate)

πŸ“ˆ 8. Business Impact

"This dashboard enabled faster variance analysis, reduced month-end reporting time by over 60%, and empowered finance teams to focus on strategy rather than data gathering."


⚠️ 9. Challenges & Solutions

  • Challenge: Budget format changed monthly
    Solution: Built a dynamic Power Query transformation that adjusted to schema changes.

  • Challenge: Actuals data had delays
    Solution: Added a data refresh status indicator using DAX and metadata tracking.


πŸ’‘ 10. Final Outcome

"The dashboard became part of the standard monthly reporting suite, was published to the Power BI Service with scheduled refresh, and was used across departments for variance tracking and decision-making."

No comments:

Post a Comment

Python using AI

  Python using AI - Prompts & Codes Tools useful for Python + AI ChatGPT - https://chatgpt.com/ Claude AI - https://claude.ai/new ...