How Pharmacies Can Improve Sales and Inventory Using Power BI Dashboards
Posted on May 01, 2026
Contents
Why Pharmacies Need a Power BI Dashboard
- Sales across multiple locations
- Generic vs branded medicine performance
- Revenue vs target achievement
- Promotional sales effectiveness
- Cost and margin optimization
- Pharmacy health score tracking
- Underperforming locations
- Product-level profitability
Explore Before You Decide
Click here to Access the live dashboard preview to understand its full structure, KPIs, and insights in action.
How This Pharmacy Sales Analytics Dashboard Is Built
- Revenue analysis
- Profit tracking
- Cost monitoring
- Promotional sales analytics
- Pharmacy health score analysis
- Multi-location reporting
- Target vs achievement tracking
- Underperforming pharmacy locations
- High-margin products
- Rising cost areas
- Locations requiring immediate intervention
- Impact of promotional campaigns
Data Model Structure Behind the Dashboard
Main Tables Used
- Revenue
- Cost
- Margin
- Units Sold
- Sales Orders
- Promo Flag
Dimension Tables
- Year, Quarter, Month
- Trend analysis
- MoM & YoY calculations
- Location hierarchy (Country → Region → City)
- Store type & size
- Pharmacy segmentation
- Category & brand
- Generic vs branded analysis
- Product-level profitability
Targets Table
- Sales targets
- Profit targets
- Segment-based comparisons
Relationship Model

- FactSales[Date] → DimDate[Date]
- FactSales[PharmacyID] → DimPharmacy[PharmacyID]
- FactSales[ProductID] → DimProduct[ProductID]
- Targets Table[PharmacySegment] → DimSegment[PharmacySegment]
- Targets Table[Target Date] → DimDate[Date]
Core KPI Measures Used
- Cost Measures – Track operational costs with trends
- Health Score Measures – Evaluate pharmacy performance (0–100 scale)
- Orders Measures – Monitor sales volume and demand
- Profit Measures – Analyze profitability vs targets
- Promo Measures – Measure campaign effectiveness
- Revenue Measures – Track growth and achievement
- Unit Measures – Analyze product movement
- Additional Measures – Rankings, category insights, and commentary
Calculates total cost by summing CostEUR from fact table.
Returns total cost for the same period in the previous year when a single year is selected.
Returns absolute change in cost from previous month with +/- symbol.
Returns formatted percentage change with up/down arrows and previous month label.
Returns raw decimal value of month-over-month cost percentage change.
Returns color code: blue for cost decrease/stable, red for cost increase.
Returns background color: light red for cost increase, light blue for cost decrease.
Calculates pharmacy health score (0-100) based on sales achievement (40pts max), profit achievement (40pts max), and profit margin (20pts max).
Classifies health score into 5 performance tiers with visual indicators.
Returns color code for each health status level.
Calculates average health score across all pharmacies.
Returns median health score across all pharmacies.
Returns maximum health score across all pharmacies.
Returns minimum health score across all pharmacies.
Calculates the spread between maximum and minimum health scores.
Counts pharmacies with health score of 90 or above.
Counts pharmacies with health score between 75 and 90.
Sums count of Excellent and Good rated pharmacies.
Calculates percentage of pharmacies rated Excellent or Good.
Counts pharmacies with health score below 50 requiring critical attention.
Returns text message indicating number of pharmacies with score <=75 needing intervention.
Generates natural language summary of health performance.
Filter measure to show only pharmacies matching selected health status group.
Counts distinct sales orders (each SalesID represents one order).
Returns order count for the same period in previous year.
Returns absolute change in order count from previous month with +/- symbol.
Returns formatted percentage change with up/down arrows and previous month label.
Returns raw decimal value of month-over-month order percentage change.
Returns color code: blue for order increase/stable, red for order decrease.
Returns background color: light blue for order increase, light red for order decrease.
Calculates total profit by summing MarginEUR from fact table.
Calculates profit margin percentage as profit divided by sales.
Dynamically calculates profit target based on pharmacy segment and month.
Formats profit and target for display with line break.
Calculates variance between actual profit and profit target.
Returns red color if profit below target, blue if above or meeting target.
Calculates profit achievement percentage capped at 100% (1).
Counts pharmacies where actual profit meets or exceeds profit target.
Calculates percentage of pharmacies meeting profit target.
Helper text for displaying pharmacy target achievement.
Returns total profit for the same period in previous year.
Returns absolute change in profit from previous month with +/- symbol.
Returns formatted percentage change with up/down arrows and previous month label.
Returns raw decimal value of month-over-month profit percentage change.
Returns color code: blue for profit increase/stable, red for profit decrease.
Returns background color: light blue for profit increase, light red for profit decrease.
Returns profit margin from previous month.
Calculates the change in profit margin percentage from previous month.
Calculates total sales revenue by summing RevenueEUR from fact table.
Calculates sales achievement percentage capped at 100% (1).
Dynamically calculates sales target based on pharmacy segment and month.
Formats sales and target for display with line break.
Calculates variance between actual sales and sales target.
Returns red color if sales below target, blue if above or meeting target.
Calculates sales achievement percentage capped at 100% (same as Sales Achievement).
Counts pharmacies where actual sales meet or exceed sales target.
Calculates percentage of pharmacies meeting sales target.
Helper text for displaying pharmacy target achievement.
Returns total sales for the same period in previous year.
Returns absolute change in sales from previous month with +/- symbol.
Returns formatted percentage change with up/down arrows and previous month label.
Returns color code: blue for sales increase/stable, red for sales decrease.
Returns background color: light blue for sales increase, light red for sales decrease.
Calculates total sales while preserving dosage form filter but removing other product filters.
Calculates total units sold by summing UnitsSold from fact table.
Returns total units for the same period in previous year (note: named Previous Month but calculates previous year).
Returns absolute change in units from previous month with +/- symbol.
Returns formatted percentage change with up/down arrows and previous month label.
Returns raw decimal value of month-over-month units percentage change.
Returns color code: blue for units increase/stable, red for units decrease.
Returns background color: light blue for units increase, light red for units decrease.
Calculates total sales revenue where promotion flag is Yes.
Returns promo sales for the same period in previous year.
Returns absolute change in promo sales from previous month with +/- symbol.
Returns formatted percentage change with up/down arrows and previous month label.
Returns color code: blue for promo sales increase/stable, red for promo sales decrease.
Returns background color: light blue for promo sales increase, light red for promo sales decrease.
Counts total number of distinct pharmacies.
Returns text string indicating number of countries pharmacies operate in.
Counts pharmacies meeting both profit target AND sales target simultaneously.
Ranks pharmacies by health score in descending order with dense ranking.
Generates natural language commentary comparing profit, cost, and margin performance month-over-month.
Why This Dashboard Improves Decision-Making
- Faster executive reporting
- Better inventory planning
- Margin optimization
- Data-driven promotional decisions
- Store benchmarking
- Revenue growth
- Cost reduction
Conclusion
- Every branch
- Every product
- Every KPI
- Which pharmacy is underperforming?
- Which products drive the highest profit?
- Are promotions improving margins?
- Where is immediate action required?
- View all report pages
- Understand KPI logic
- Analyze real dashboard behavior
- Access the complete solution