16 Case Study: Building a BI Dashboard
In Chapter 15 we discussed the design principles and tool landscape for dashboards: information hierarchy, KPI design, and the tradeoff between operational, analytical, and strategic dashboards. In Chapter 14 we built a project from a written spec and shipped four deliverables to an analyst audience. Now we close the loop. The HR director from the previous case has asked for a dashboard her own team can use without an analyst in the room — something that turns the static report into a living tool. This chapter walks the build end-to-end: planning, layout, KPIs and charts, interactivity, and deployment.
The primary tool used in this chapter is Quarto Dashboard, the modern successor to flexdashboard. We will note where flexdashboard differs so readers comfortable with the older syntax can translate as needed. Both produce self-contained HTML files that can be emailed, posted to a static server, or embedded in a learning management system.
Chapter Goals
Upon concluding this chapter, readers will be able to:
- Translate dashboard requirements (audience, KPIs, update cadence) into a wireframed layout before writing any code.
- Build a Quarto Dashboard with rows, columns, value boxes, gauges, and interactive charts.
- Add interactivity using
plotlytooltips andcrosstalklinked filters. - Choose appropriately between client-side and server-side (Shiny) interactivity for a given audience and infrastructure.
- Render a self-contained dashboard and deploy it via static hosting or a Shiny server.