How to Create a Doughnut Chart Showing Recent Records by Status in Bold BI
Published:
Overview
This guide shows how to create a Doughnut Chart in Bold BI to visualize the distribution of your most recent work records by Status (e.g., Open, In Progress, Closed). This provides a quick, proportional view of record volume across categories.
Step-by-Step Guide
1. Open or Create a Dashboard
- Open an existing dashboard or create a new one in Bold BI Dashboard Designer.
- Ensure your data source is connected and contains the required fields.
2. Add the Doughnut Chart Widget
- From the widget gallery on the left, drag and drop the Doughnut Chart onto the dashboard canvas.
3. Configure the Value (Measure)
- In the Assign Data panel:
- Drag a numeric field (e.g.,
RecordCount) to Value. - Select the appropriate aggregation based on your analysis requirements. For example, set the aggregation to Sum when you want to total numeric values.
- Alternatively, use Distinct Count on
WorkRecordIDif each record should be counted once.
- Drag a numeric field (e.g.,
4. Configure the Column (Dimension)
- Drag the Status field to Column.
5. Filter to Show Only Recent Records
- Select the Doughnut Chart widget.
- In the Assign Data panel, go to Filters.
- Drag the date field (
UpdatedDate) to Filters. - Set the condition to Last N Days (e.g., Last 30 Days).
Note: This applies a widget-level filter so only recent records are used for grouping and aggregation.
6. Enable Data Labels
- Open the Properties panel for the widget.
- Enable Data Labels to show count/percentage on each slice.
7. (Optional) Enhance Tooltips
- In Properties → Tooltip, add fields like
Status, count of records, andUpdatedDatefor richer hover information.
8. Best Practices for Readability
- Limit the number of slices (use Top N filter if needed).
- Group minor statuses into “Others” for cleaner visuals.
- Use meaningful colors via Properties → Color.
- Test in both View and Preview mode.
9. Save and Publish
- Click Publish to make the dashboard available to users.
Sample SQL Queries (Optional)
Row-Level Data (Recommended)
SELECT
WorkRecordID,
Status,
UpdatedDate
FROM WorkRecords
WHERE UpdatedDate >= DATEADD(day, -30, GETDATE());
Tip: Row-level data provides more flexibility for filters, drill-downs, and future enhancements.
Pre-Aggregated Data (Optional)
SELECT
Status,
COUNT(*) AS WorkRecordCount
FROM WorkRecords
WHERE UpdatedDate >= DATEADD(day, -30, GETDATE())
GROUP BY Status;
Conclusion
- This setup delivers a clean Doughnut Chart showing the distribution of recent work records by status. Using widget-level date filters ensures the visualization stays current and focused.