A 100-cell waffle chart with your own shapes in Power BI
Getting started with Waffle Plume: show a percentage as 100 cells, share one waffle between several categories, pick the cell shape and read the result.
Lire en françaisIn short
What is a waffle chart? It is a grid of small cells, usually 10 by 10. Each cell is worth 1%: a 43% rate colors 43 cells out of 100. The eye counts cells far more easily than it compares the angles of a pie chart, and a waffle speaks to everyone, meetings included.
Mini example. Out of 528 customers surveyed, 446 received their order on time: 446 ÷ 528 = 84%. The waffle colors 84 cells; the 16 light cells are the late deliveries.
- What the visual does. Waffle Plume has two free modes: Percentage (one waffle per category, the percentage written in large type) and Parts of a whole (every category shares one waffle); the Units ★ mode (one row of pictograms per category, 1 cell = N units) is premium. Cells can be squares, circles, hearts, people, houses… and a different shape for each category.
- When to use it. For a rate (satisfaction, progress, target coverage), a split into a few parts (sales channels, contract types) or a telling headcount ("one person = 10 employees").
- When to prefer something else. To compare more than 8 to 10 categories precisely: Bar Plume. To follow a value over time: Line Plume (Waffle Plume can also replay the waffle year by year with the Play axis ★ field). For a hierarchy with several levels: Sunburst Plume.
- What you will be able to do. Prepare the data, show a percentage, share the waffle between categories, change the cell shape and the fill order, filter the page.
- What you need: Power BI Desktop, the Waffle Plume visual installed (see the shared basics), a measure (a rate, or an amount). The PlumeWaffle-Sample-EN sample report, in your "Downloads" area, shows the Percentage and Parts modes (page 1), use cases (page 2), the ★ features (page 3) and the year-by-year change ★ (page 4).
The data to provide
The shape. One row per category (or per category and year combination), with an amount. The category is a column; the amount goes through a measure (a DAX formula that adds up), so that Power BI computes each part correctly.
| Channel | Amount |
|---|---|
| Store | 420,000 |
| Web | 310,000 |
| Phone | 120,000 |
| Marketplace | 90,000 |
| Trade shows | 60,000 |
To try it without a file: Modeling › New table, then paste:
Sales =
DATATABLE (
"Channel", STRING, "Amount", DOUBLE,
{
{ "Store", 420000 },
{ "Web", 310000 },
{ "Phone", 120000 },
{ "Marketplace", 90000 },
{ "Trade shows", 60000 }
}
)
Then the measures (Modeling › New measure):
Revenue =
SUM ( Sales[Amount] ) -- the amount of each channel
Web share =
DIVIDE (
CALCULATE ( [Revenue], Sales[Channel] = "Web" ), -- Web revenue
CALCULATE ( [Revenue], ALL ( Sales[Channel] ) ) -- divided by the revenue of every channel
)
Format Revenue as a currency and Web share as a percentage (Measure tools › Format: Percentage).
Pitfalls.
- A rate goes as is in Value: a measure formatted as a percentage (0.31) fills 31 cells. An amount needs a denominator: drop it in Total (100%), or add a category to get parts.
- A negative value cannot fill a cell: it counts as zero and a warning icon appears.
- Without a measure in Value, the visual counts the rows of each category.
Step by step
- Insert Waffle Plume from the Visualizations pane. The visual shows "Add fields to get started".
- Drop the
Web sharemeasure in Value. A 10 × 10 waffle appears: 31 colored cells, "31%" in large type on the left, with the measure name. The cells appear one by one, in fill order. - Hover a colored cell: the tooltip gives the value, the percentage and "31 of 100".
- Create a second Waffle Plume visual. Drop
Channelin Category andRevenuein Value. The visual switches to Parts of a whole: the five channels share the 100 cells, from largest to smallest, and the legend reads "Store · 42%", "Web · 31%"… - Click a Web cell: the page is filtered on that channel and the other channels step back. Ctrl + click adds a channel, a click in the empty space clears the selection. The legend can be clicked too.
- Open Format › Cells › Cell shape and pick Basic · Circle: every cell becomes a dot. Try People · Person or Objects and buildings · House: these shapes are free.
- Open Format › Data colors. Under each channel, a color and a shape: give Web the Nature and weather · Cloud shape and another color. Each channel can have its own shape.
- In Format › Layout › Waffle, set Fill order to Column by column, from the bottom: the waffle fills like a stacked bar. Try Rows = 5 and Columns = 20 for a strip.
- Set Layout › Waffle › Mode to Percentage: one waffle per category. Each channel gets its own waffle, with its percentage written in large type; Layout › Categories and waffles › Waffles per row sets how many waffles sit side by side.
- Save. In the published report, readers filter the page with a click, with the keyboard too (arrows, Enter, Escape).
Troubleshooting
| What you see | Likely cause | Fix |
|---|---|---|
| "Add fields to get started" | Nothing in Value or Category | Drop a measure in Value |
| The waffle is full (100%) with an amount | An amount without a denominator is read as "the largest value = 100%" | Add the denominator in Total (100%), or a Category for parts |
| The percentage is not the expected one | The automatic rule does not fit your data | Layout › Percentage computed: Value is a ratio, Value in points or Share of the sum of the categories |
| Warning icon "Negative values counted as zero" | Negative amounts (credits, returns) | Filter them out or use a measure that excludes them |
| A channel is called "Others" | More than 10 categories | Layout › Categories and waffles › Categories at most |
| The shapes are tiny | A very wide shape (car, truck) in a square cell | Use fewer Rows and Columns, or a more compact shape |
| "Premium preview" watermark | A ★ feature is used without a key (play axis, Units mode, snake order, ★ shape, SVG, partly filled last cell, target, small multiples) | Go back to the free setting or enter your key in Format › Plume Studio License |
Key points
- A rate in Value: a 100-cell waffle; an amount: add Total (100%) or a Category.
- With a Category, the parts share one waffle; the total is always 100 cells (largest remainder method).
- 22 free shapes, and a different shape per category in Data colors.
- Four free fill orders (plus two ★ snake orders) and a grid of 1 to 50 rows and columns.
- A year in Play axis ★: ▶ replays the waffle, cells fill or empty from one year to the next (watermark without a key).
Going further
- Use cases: pictograms, target, SVG, small multiples, year by year.
- Fields and settings: every setting of the Format pane.
- Getting started with Plume visuals: installation, license, styles, dynamic formatting.
- The visual page: Waffle Plume. A question: support.