Project Overview
A 7-page Power BI report built to help operations teams identify, quantify, and reduce production downtime across batches, operators, and product lines. Built on a clean star-schema semantic model — two fact tables, four shared dimension tables, and 50+ custom DAX measures — the report transforms raw shop floor records into actionable intelligence, from high-level KPIs all the way to pixel-perfect PDF exports for plant managers.
Data Model
The semantic model follows a star schema with two fact tables joined to four shared dimension tables:
- Fact_Productivity — one row per production batch, holding actual duration, minimum target duration, product, operator, and date keys.
- Fact_Downtime — one row per batch-factor incident, capturing downtime minutes and whether the cause was operator error or machine/process related.
- Dim_Date — full date dimension with time intelligence support.
- Dim_Product, Dim_Operator, Dim_DowntimeFactor — clean dimension tables. The factor dimension includes an Operator Error flag that classifies every downtime factor as human-caused or machine/process-caused, powering the split analysis throughout the report.
Dashboard Pages & Key Insights
Page 1 — Cover
- Purpose: A branded landing page with navigation buttons guiding users to the four core analytical sections.
- Insight: Sets the visual identity and gives every user a clear, consistent entry point regardless of their role or familiarity with the report.
Page 2 — Executive Overview
- Purpose: A high-level summary for leadership — the first stop after the cover.
- KPI Cards: Total Batches, Total Downtime Minutes, Batch Efficiency %, Avg Downtime Per Batch, and Downtime Rate %.
- Line Chart: Daily trend of Target Batch Minutes vs Actual Batch Minutes, with Batch Efficiency % as a secondary series — immediately showing where actual production time diverges from the no-downtime minimum.
- Clustered Bar Chart: Downtime minutes by factor description, color-coded by the Operator Error flag (Yes/No), so leadership can see at a glance whether losses are driven by equipment or by people.
- Pie Chart: Operator Error Downtime Minutes vs Machine Downtime Minutes — a simple split of total downtime by cause category.
- Slicers: Date range, Product, and Operator — all cascading across the page.
- Insight: Provides an immediate snapshot of plant health; the line chart and bar chart together answer both when and why production is falling short of target.
Page 3 — Downtime Analysis
- Purpose: A deep dive into downtime factors by duration and incident count.
- KPI Cards: Total Downtime Minutes, Total Downtime Incidents, Operator Error Downtime %, and Avg Downtime Per Batch.
- Ranked Factor Table: Downtime factors sorted by a dynamic Top N measure — the Top N slicer lets users focus on the 3, 5, or 10 worst offenders without changing filters manually.
- Batch × Factor Matrix: A drill-able heatmap of Downtime Factor × Batch Number × Total Downtime Minutes, surfacing exactly where downtime is most concentrated at the batch level.
- Slicers: Date, Product, Operator, and the dynamic Top N parameter.
- Insight: The Factor Downtime Rank measure (built with RANKX) automatically elevates the highest-impact factors regardless of how filters are applied — no manual re-sorting required.
Page 4 — Operator Performance
- Purpose: Operator-level benchmarking to identify who drives the most downtime and where the efficiency gaps are greatest.
- KPI Cards: Total Batches, Operator Error Downtime %, and Avg Downtime Per Batch.
- Clustered Column Charts: Total Batches and Top N Operator Downtime side-by-side per operator; a second chart shows Top N Operator Batch count — enabling direct comparison of workload volume versus downtime contribution.
- Performance Table: Operator × Target Minutes + Actual Minutes + Batch Efficiency %, with banded conditional formatting driven by the Efficiency Band Color measure.
- Operator Error Cross-Matrix: Downtime factor × operator × Total Downtime Minutes + Operator Error Factor Share % — pinpoints which specific error types each operator is disproportionately responsible for.
- Slicers: Top N what-if parameter, Date, Operator, and Product.
- Insight: The cross-matrix answers not just who has the most downtime, but which mistakes they make most, enabling targeted coaching rather than blanket retraining.
Page 5 — Product Analysis
- Purpose: Comparing production efficiency and downtime exposure across product and flavor lines.
- Matrix Table: Product × Target Batch Mins + Actual Batch Mins + Over Target Mins + Batch Efficiency %, showing which products consistently exceed their minimum cycle time targets.
- Dynamic Field Parameters: A Dim Selector and a Measure Selector let users switch both the axis dimension and the displayed metric on the fly — without navigating to a different page or changing filters.
- Slicers: Date, Operator, and Product.
- Insight: Over Target Minutes surfaces the raw time loss per product line, while Batch Efficiency % normalises it — together they separate products that are inherently complex from those that simply have operational issues.
Page 6 — What-If Simulator
- Purpose: A scenario planning tool that lets operations leaders quantify the financial ROI of targeted downtime reduction before committing to any improvement project.
- Three Input Sliders (What-If Parameters): Operator Downtime Reduction %, Target Efficiency %, and Downtime Cost Per Hour — all adjustable in real time.
- Gauge: Simulated Batch Efficiency % vs the user-defined target, with min/max bounds — instantly shows whether the modeled reduction is sufficient to hit the goal.
- Clustered Column Chart: Actual vs Simulated Downtime Minutes per operator — identifies which operators benefit most from the modeled reduction scenario.
- Waterfall Chart: Breaks the cost scenario into sequential steps (baseline cost → reduction applied → residual cost) via the Waterfall Value measure and the Scenario Steps table — makes the financial narrative easy to present to non-technical stakeholders.
- KPI Cards: Batch Efficiency % (actual), Simulated Batch Efficiency %, Downtime Hours Saved, and Downtime Cost Avoided.
- Insight: All simulation measures flow from Simulated Actual Duration Minutes, which applies the user-selected reduction % to actual downtime, feeding Simulated Batch Efficiency % and the downstream cost measures — keeping the logic in one place and every visual in sync.
Page 7 — Paginated Report Export
- Purpose: A Power BI Report Builder (.rdl) paginated report embedded as a visual, enabling plant managers to export a pixel-perfect productivity and downtime detail report.
- Paginated Visual (rdlVisual): The embedded .rdl report receives four live parameter mappings from the semantic model — MinDate, MaxDate, Product, and Operator — so the export always reflects the user's current filter context.
- Slicers: Date, Operator, and Product — selections flow directly into the paginated report parameters, no manual re-entry required.
- Export Formats: PDF, Excel, Word, and PowerPoint — standard paginated report rendering via Fabric or Power BI.
- Insight: Bridges the gap between interactive analytics and formal reporting — operations teams can explore data interactively across pages 2–6 and then hand off a clean, formatted document to management or auditors without leaving the report.
⚠ Note on Publish to Web: Publish to Web does not support paginated report visuals, so the Data Export page cannot be displayed in the published version of this report. Please refer to the screenshot below for a preview.
To enable the Export page in your own environment, publish the included .rdl file (created in Power BI Report Builder) to your Fabric or Power BI workspace alongside the semantic model. Then configure the required parameter mappings (MinDate, MaxDate, Product, Operator) to embed the paginated report within the Power BI report visual.

Technical Toolkit (DAX & Modeling)
- DAX Measures organized across six display folders: Core Metrics, Rates & Ratios, Ranking, Utility, What-If, Styling, and Paginated Report Visual.
- Core Efficiency Logic: Batch Efficiency % = DIVIDE([Total Min Batch Time], [Total Actual Duration Minutes], 0) — how close actual batch time is to the no-downtime minimum. Higher is better.
- Downtime Rate: Downtime Rate % = DIVIDE([Total Downtime Minutes], [Total Actual Duration Minutes], 0) — percentage of total production time lost to downtime.
- What-If Simulation: Simulated Actual Duration Minutes applies the user-controlled reduction % to actual downtime, cascading into Simulated Batch Efficiency %, Downtime Hours Saved, Downtime Cost Avoided, and Residual Downtime Cost.
- Financial Impact: Total Downtime Cost = DIVIDE([Total Downtime Minutes], 60) * [Downtime Cost Per Hour Value] and Downtime Cost Avoided = [Downtime Hours Saved] * [Downtime Cost Per Hour Value].
- Dynamic Top N Ranking: Top N Factor Downtime and Top N Operator Downtime use RANKX with a what-if parameter to show only the N highest-impact items — keeping charts clean at any scope.
- Conditional Formatting via Measures: Efficiency Band Color returns hex color codes based on banded thresholds, bound directly to table and matrix cell backgrounds. Sentiment Color measures apply the same approach to KPI cards.
- Paginated Report Parameters: MinDate and MaxDate measures pass the user's date slicer range into the embedded .rdl visual, keeping the export in sync with the interactive report context.
eyJrIjoiYjBlMDAwMDQtOGMxZi00YjZkLWIwZmMtOTU5ZmZkMDE1NmM3IiwidCI6ImQxZTRmNjc5LTM5NmQtNDIyMS04MzZhLWI3MTQ2M2JjOGE3YiJ9