# Executive Performance — Power BI Project

Prepared by Opeyemi Agboola / ONE Light Analytics.

## Open the report
1. Extract the complete folder. Keep the `.Report` and `.SemanticModel` folders beside the `.pbip` file.
2. Open `ExecutivePerformance.pbip` in an up-to-date Windows Power BI Desktop with Power BI Projects enabled where required.
3. Refresh. The model loads compressed, embedded CSV data; no database connection, private GitHub access, path edits, credentials or API key are required.
4. The report starts at 2012. Change the unlocked **Reporting year** filter in the Filters pane to 2011 or 2013. Category, channel, country and quarter slicers apply as labelled.
5. Save a `.pbix` after the Desktop checks below.

## Report pages
- Executive overview: sales, product-cost contribution, margin, distinct orders, comparable YoY, monthly trend and category mix.
- Sales & contribution: units, sales/order, costs, country distribution, channel margin and category detail.
- Inventory monitoring: year-end product positions, units, reorder alerts and category detail.

## Model and controls
Eight imported tables, eight single-direction relationships and 20 DAX measures. SalesMonthly filters OrderMembership; distinct order counts preserve category overlap. Years and Categories filter both sales and inventory. Months, Channels and Countries filter only sales. Inventory measures require one reporting year and never sum multiple snapshots. Prior-year calculations preserve quarter, channel, country and category selections. Full-year/Q4 comparisons involving the incomplete 2013 reseller channel are suppressed. 2011 prior-year comparison is unavailable because the retained source begins in 2011. Financial measures are gross contribution after product cost, not net profit. Monetary figures retain source reporting units; no exchange conversion is applied.

## Data provenance
Microsoft AdventureWorksDW is fictional demonstration data, not a real company or client result. Source tables and exact reconciliation are documented in `source-validation.json`. The `data/` CSV files are also supplied for inspection; their compressed contents are embedded in the model partitions.

## Validation status
Source reconciliation, relationship keys, embedded data, report field bindings, visual geometry and Microsoft PBIR JSON schemas are checked by the accompanying validation script. These are static/source-level checks. Power BI Desktop is unavailable in the authoring environment: The earlier layout has opened and refreshed in Power BI Desktop, with 2012 displayed financial/order/stock totals matching the reconciliation. This revised layout and the new insight measures still require the Desktop acceptance check below. This package is Power BI source, not an engine-verified `.pbix` or a hosted Power BI Service report.

## Desktop acceptance check
For 2012 with all categories/channels/countries/quarters: sales 34,036,116.7273; product cost 30,692,210.6650; gross contribution 3,343,906.0623; distinct orders 4,546; units sold 84,725; inventory products 606; below reorder 8. Verify 2011 and 2013 against source-validation.json. Check that category totals do not get summed to derive distinct orders. Select 2013 + Reseller + full year/Q4: YoY must be blank. Select 2013 + Reseller + Q1–Q3: comparison should be available. Confirm channel/country/quarter changes do not affect inventory snapshots and that category/year do. Check each native chart, labels, refresh, interactions and layout, then save `.pbix` and export actual report screenshots.
