| build | ||
| demos | ||
| solutions | ||
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| DAT100-Data-Analysis-with-Power-BI-Slides-Exercises.pdf | ||
| DAT100-Data-Analysis-with-Power-BI-Slides.pdf | ||
| README.md | ||
DAT100 — Data Analysis with Power BI
Trainer guide and source repository for the two-day Data Analysis with Power BI course.
Quick Start
# Build the slide deck PDF
bun run --cwd build build
# Presenter mode — live Marp server with auto-reload on save
bun run --cwd build serve
# Lint all slides for overflow, title length, and style issues
bun run --cwd build lint
The build output lands at the root of the repo:
DAT100-Data-Analysis-with-Power-BI-Slides.pdf
First time only: make sure Bun is installed (
bun --version). The build scripts live in../Presentation-Template/build/; that sibling repo must be present.
Presenter Mode
bun run --cwd build serve starts the Marp CLI in server mode and opens a local browser tab. Press P for Presenter mode.
Each time you save a slide file, the browser refreshes automatically. (not quite true; need to rebuild too)
Use the browser's full-screen mode (F11) for presenting.
Presenter notes are visible in <!-- NOTES: ... --> blocks in the Markdown sources
and are not rendered on the slides themselves.
Repository Layout
| Path | Contents |
|---|---|
src/slides/00-preamble/ |
Title and logistics slides (auto-included by build) |
src/slides/NN-module-name/ |
One Marp Markdown file per module |
src/exercises/ |
Step-based exercise specifications (one .md per module) |
demos/ |
Demo .pbix files, sample CSV/Excel data, and screenshots (not done yet) |
solutions/ |
Reference .pbix solutions per module |
build/ |
package.json pointing to the shared Presentation-Template build system |
spiraltrain_site/ |
Website copy and official course description |
Modules
| # | Module | Slide source | Exercise |
|---|---|---|---|
| 1 | Power BI Intro | src/slides/01-power-bi-intro/ |
src/exercises/01-power-bi-intro.md |
| 2 | Data Sources | src/slides/02-data-sources/ |
src/exercises/02-data-sources.md |
| 3 | Building Blocks | src/slides/03-building-blocks/ |
src/exercises/03-building-blocks.md |
| 4 | DAX Functions | src/slides/04-dax-functions/ |
src/exercises/04-dax-functions.md |
| 5 | Data Modeling | src/slides/05-data-modeling/ |
src/exercises/05-data-modeling.md |
| 6 | Dashboards | src/slides/06-dashboards/ |
src/exercises/06-dashboards.md |
| 7 | Filters | src/slides/07-filters/ |
src/exercises/07-filters.md |
| 8 | Queries and Slicers | src/slides/08-queries-and-slicers/ |
src/exercises/08-queries-and-slicers.md |
| 9 | REST API | src/slides/09-rest-api/ |
src/exercises/09-rest-api.md |
Suggested Delivery Schedule
Day 1
| Time | Activity |
|---|---|
| 09:30 | Welcome and preamble (logistics, introductions) |
| 09:45 | Module 1 — Power BI Intro |
| 10:30 | Module 2 — Data Sources + Exercise 2 |
| 11:30 | Break |
| 11:45 | Module 3 — Building Blocks + Exercise 3 |
| 12:30 | Lunch |
| 13:15 | Module 4 — DAX Functions + Exercise 4 |
| 14:30 | Break |
| 14:45 | Module 5 — Data Modeling + Exercise 5 |
| 16:15 | Day 1 recap and Q&A |
| 16:30 | End of day 1 |
Day 2
| Time | Activity |
|---|---|
| 09:30 | Day 1 recap, questions |
| 09:45 | Module 6 — Dashboards + Exercise 6 |
| 11:00 | Module 7 — Filters + Exercise 7 |
| 11:45 | Break |
| 12:00 | Module 8 — Queries and Slicers + Exercise 8 |
| 12:30 | Lunch |
| 13:15 | Module 9 — REST API + Exercise 9 |
| 14:30 | Buffer / catch-up / open lab |
| 15:30 | Break |
| 15:45 | Q&A, wrap-up, certificates |
| 16:30 | End of day 2 |
Audience and Prerequisites
Audience: Data analysts who want to use Power BI for data analysis and statistical reporting.
Prerequisites:
- Experience with Excel is required.
- Programming experience is beneficial but not required.
Development environment: Power BI Desktop (free download from Microsoft). Students need a Power BI Pro license or trial account for Module 6 (Dashboards), which requires Power BI Service.
Demo Files
Each module's slides reference one or more live demos in the format `demoNN · topic-name`.
The corresponding .pbix files and sample data are in demos/NN-module-name/.
Before the course, open each demo file in Power BI Desktop and verify that it loads cleanly.
If the demo references an on-premises database, configure the Data Gateway on your machine
or substitute the provided flat-file equivalents in demos/sample-data/.
Writing and Style Conventions
All content is in English.
Slides follow the SpiralTrain writing style:
- Businesslike prose with complete, fairly long sentences.
- Parent bullets that have sub-bullets end with
:(space, colon) as a suffix, not a trailing dash. - No em-dashes anywhere on bullet lines.
- Minimal use of
**bold**; let sentence structure carry emphasis. - Sub-bullets use
-with two-space indentation under the parent bullet.
DAX code:
- Keywords in UPPER CASE, identifiers in
TableName[ColumnName]notation. - Use
--for DAX line comments.
M (Power Query) code:
- Use
//for line comments.
Lint Rules
The linter (bun run --cwd build lint) enforces:
- Slide height must not exceed 800 px — trim content if a WARN appears.
- Slide title must be 40 characters or fewer.
- No em-dash character (—) on bullet lines.
- A blank line is required before every opening code fence.
- A
:suffix on a non-indented line must be followed by bullet children on the next line.
Run the linter after editing any module and fix all warnings before committing.
Adding a New Module
- Create
src/slides/NN-module-name/NN-module-name.mdusing the frontmatter below. - Set
footer:to the short module name — the build system uses this as the module label on the schedule slide. - Do not write a
# Module N : Titleoverview slide; the build generates one automatically. - Create a matching exercise file at
src/exercises/NN-module-name.md. - Run
bun run --cwd build lintand fix any warnings.
---
marp: true
theme: spiraltrain
size: 16:10
paginate: true
footer: My Module Name
---