Free guide: Power BI
Build a procurement dashboard in Power BI: the model, the DAX measures and four pages that answer real questions
A procurement dashboard earns trust when every card can be checked. This guide sets out the model, the core measures and the page design from the Starter Kit's build guide. Expected values are computed from the kit's fictional dataset (150 invoices, NGN 552,660,500), so you can test your own build against them.
1. The model
- Get Data, Text/CSV, then Transform Data. Clean types and trim text in Power Query. Name the table
Spend. - Create a date table and mark it as the date table:
Calendar = CALENDAR ( DATE ( 2025, 1, 1 ), DATE ( 2026, 12, 31 ) ) - Relate
Calendar[Date]one-to-many toSpend[InvoiceDate], single direction. Use Calendar fields in every date slicer and axis.
Full calendar years keep time intelligence working. Avoid bidirectional relationships; they create ambiguous filter paths.
2. Core measures
Total Spend = SUM ( Spend[Amount_NGN] ) -- 552,660,500
Invoice Count = DISTINCTCOUNT ( Spend[InvoiceNumber] ) -- 150
PO Spend = CALCULATE ( [Total Spend], KEEPFILTERS ( Spend[POCompliant] = "Y" ) )
PO Compliance % = DIVIDE ( [PO Spend], [Total Spend] ) -- 82.03%
PO Invoice Count = CALCULATE ( [Invoice Count], KEEPFILTERS ( Spend[POCompliant] = "Y" ) )
PO Count % = DIVIDE ( [PO Invoice Count], [Invoice Count] ) -- 70.00%
Contracted Spend = CALCULATE ( [Total Spend], KEEPFILTERS ( Spend[ContractedSupplier] = "Y" ) )
Maverick Spend = CALCULATE ( [Total Spend], KEEPFILTERS ( Spend[ContractedSupplier] = "N" ) )
Contracted Share % = DIVIDE ( [Contracted Spend], [Total Spend] ) -- 62.06%
Maverick Share % = DIVIDE ( [Maverick Spend], [Total Spend] ) -- 37.94%
Review Population Spend =
[Total Spend]
- CALCULATE ( [Total Spend],
KEEPFILTERS ( Spend[POCompliant] = "Y" ),
KEEPFILTERS ( Spend[ContractedSupplier] = "Y" ) ) -- 257,488,500
Weighted Terms Days =
DIVIDE ( SUMX ( Spend, Spend[PaymentTermsDays] * Spend[Amount_NGN] ), [Total Spend] ) -- 28.99
DIVIDE returns blank, not an error, when the denominator is empty. KEEPFILTERS makes a measure respect slicers instead of overriding them. Maverick spend counts the N flag directly, so blank flags never inflate it.
3. Four pages, each answering one question
| Page | Question | Content |
|---|---|---|
| Overview | Where is the money, and is it controlled? | Cards for total spend, PO compliance, contracted share, top-10 share and weighted terms. Category bar. The PO by contract matrix. |
| Suppliers | Who do we depend on? | Ranked supplier table with share and cumulative share; Pareto chart. A note that criticality is not in the data. |
| Controls | Where should exceptions be reviewed? | Spend and count PO rates side by side by department; detail of the 11 invoices with neither a PO nor a contract. |
| Terms and cash | Are we paying faster than needed? | Weighted terms by supplier; spend by terms bucket. |
4. Design rules
- Title every visual as a question or a claim, never "Chart 1".
- One accent colour for what needs action, grey for the rest. No 3D, no gauges without targets.
- Print units on cards (NGN millions) and keep flag slicers off the summary page: a PO slicer set to Y makes compliance 100%.
- Build a mobile layout for the overview page. Many reviewers read reports on a phone.
- Never colour a large supplier red as if its risk were verified.
5. Acceptance tests before anyone sees it
| Test | Expected |
|---|---|
| No filters | Every card matches the values above |
| Location = Port Harcourt | Total NGN 63,305,000; PO compliance 68.24% |
| Department = Finance | PO compliance 53.96%; maverick NGN 88,175,000 |
| Year 2025 / 2026 | NGN 297,360,500 / NGN 255,300,000 |
| No matching rows | Ratios blank, not 0% |
Keep a hidden QA page listing each measure beside its expected value, and record the date and version whenever you publish.
Go further
The Starter Kit teaches this method end to end on the practice dataset: a 54-page guide, a click-by-click Excel and Power BI build guide, 29 exercises and 3 case studies with worked answers, 28 AI prompts, a self-checking workbook and a 29-KPI dictionary.
CA$15 once (about US$11), plus local sales tax where it applies, shown at checkout. Secure checkout by Stripe. Instant download. All sales final.
Free one-page KPI cheat sheet: download the PDF, no email needed.