Retail · Power BI
Custom brand theme applied to Power BI report for Meridian Retail
Independent grading: 100/100(verify, opens in a new tab)
Problem
Meridian Retail (simulated retailer) needed its brand colours applied consistently before any reports were shared externally. Chidi Okafor asked me to create a custom Power BI theme named Meridian Retail, covering a primary orange, deep navy, amber accent, and three additional chart colours, plus correctly mapped sentiment colours for good, neutral, and bad states.
What I did
The theme was authored as a JSON file with the dataColors array ordered to place Meridian orange first and deep navy second, matching the brand hierarchy Chidi specified. All six palette entries were included in sequence so that multi-series charts would draw colours in the correct order. Sentiment colours were mapped explicitly: forest green for good, amber for neutral, and red for bad. Alongside the theme work, the dimCustomers Power Query table was built with deduplication via an is_duplicate filter, a surrogate key generated with ROW_NUMBER() OVER (ORDER BY email), a concatenated full name, and a calculated customer_tier field.
Finding
The submitted theme was confirmed as correctly named, with all required brand colours present, correctly ordered, and sentiment mappings verified against each hex value Chidi provided.
Outcome
Chidi received a report with a fully applied brand theme and a customer dimension table ready for modelling work in subsequent tasks.
ROW_NUMBER() OVER( ORDER BY email ) customer_sk ,email ,first_name
This fragment from the dimCustomers M code generates a compact integer surrogate key ordered by email, replacing the original long-text customer_id to reduce file weight in Power BI.
Next step
A useful next step would be to test how the sentiment colour mapping renders across different visual types, particularly for KPI cards and conditional formatting rules, since those can override theme colours independently.
- Power BI custom JSON theme authoring with dataColors and sentiment colour mapping
- Power Query M: deduplication, surrogate key via ROW_NUMBER, concatenated columns, calculated tier field