A Power BI table formatted column by column
Get started with Table Plume: go from your data to a sortable, searchable table, formatted column by column, with totals that actually make sense.
Lire en françaisAt a glance
- What the visual does. Table Plume replaces the native Power BI table. Picture a well-kept Excel sheet: one row per product, one column per piece of information, headers that stay in place when you scroll, and a total row that is always visible at the bottom. The difference from the native table: you set up each column separately (decimals, units, colors, total, bars…) from a single card in the Format pane.
- When to use it:
- a detailed list to read row by row (products, customers, orders, projects);
- a tracking table where each column has its own format (amounts in thousands, rates in %, colored variances);
- a total that has to make sense for each column (no "sum of average order values");
- a long list that scrolls by itself on a display screen.
- When to pick something else: if you want levels that expand and collapse with subtotals (region › city) or years spread across columns, use Matrix Plume. For a single highlighted number, use KPI Plume.
- By the end, you will know how to:
- build a table from columns and measures;
- set up one specific column without touching the others;
- choose the right total for each column;
- add sorting, search, a frozen first column, and banded rows;
- use the ★ features: data bars, icons, groups, sparklines.
- What you need: Power BI Desktop, the Table Plume visual installed (see the common basics), a data table, and a few measures.
The data you need
The expected shape. Table Plume works like the native table: you drag columns (fields from your table, for example Product) and measures (DAX calculations, for example Revenue; see the glossary). The visual shows one row per distinct combination of the columns you dragged in, and calculates each measure for that row.
- What should be a column: whatever describes the row (product, category, customer, date).
- What should be a measure: whatever is calculated (revenue, rate, number of orders). A measure is recalculated correctly on each row and in the total; a rate stored in a column would be summed.
Sample dataset: the Sales table, one row per product and per year (made-up data from a home furnishings store).
| Product | Category | Year | Amount | Margin | Orders |
|---|---|---|---|---|---|
| Arc Lamp | Lighting | 2024 | 388,200 | 201,900 | 2,680 |
| Arc Lamp | Lighting | 2025 | 412,300 | 214,800 | 2,840 |
| Linen Pendant | Lighting | 2024 | 96,400 | 46,300 | 1,210 |
| Linen Pendant | Lighting | 2025 | 88,700 | 41,700 | 1,105 |
| Linen Sofa | Furniture | 2024 | 402,600 | 138,500 | 410 |
| Linen Sofa | Furniture | 2025 | 388,950 | 131,500 | 395 |
| Oak Table | Furniture | 2024 | 251,300 | 92,900 | 520 |
| Oak Table | Furniture | 2025 | 276,800 | 101,300 | 571 |
| Wool Throw | Textiles | 2024 | 58,900 | 33,000 | 1,470 |
| Wool Throw | Textiles | 2025 | 71,200 | 39,900 | 1,760 |
| Velvet Cushion | Textiles | 2024 | 41,800 | 25,100 | 1,980 |
| Velvet Cushion | Textiles | 2025 | 39,400 | 23,600 | 1,850 |
The same dataset, ready to paste. In Power BI Desktop, on the Modeling › New table tab, paste:
Sales =
DATATABLE (
"Product", STRING,
"Category", STRING,
"Year", INTEGER,
"Amount", DOUBLE,
"Margin", DOUBLE,
"Orders", INTEGER,
{
{ "Arc Lamp", "Lighting", 2024, 388200, 201900, 2680 },
{ "Arc Lamp", "Lighting", 2025, 412300, 214800, 2840 },
{ "Linen Pendant", "Lighting", 2024, 96400, 46300, 1210 },
{ "Linen Pendant", "Lighting", 2025, 88700, 41700, 1105 },
{ "Linen Sofa", "Furniture", 2024, 402600, 138500, 410 },
{ "Linen Sofa", "Furniture", 2025, 388950, 131500, 395 },
{ "Oak Table", "Furniture", 2024, 251300, 92900, 520 },
{ "Oak Table", "Furniture", 2025, 276800, 101300, 571 },
{ "Wool Throw", "Textiles", 2024, 58900, 33000, 1470 },
{ "Wool Throw", "Textiles", 2025, 71200, 39900, 1760 },
{ "Velvet Cushion", "Textiles", 2024, 41800, 25100, 1980 },
{ "Velvet Cushion", "Textiles", 2025, 39400, 23600, 1850 }
}
)
The measures to create. Select the Sales table, then Modeling › New measure, once per measure:
-- Revenue: adds up the Amount column for the visible rows
Revenue = SUM ( Sales[Amount] )
-- Margin in euros: adds up the Margin column
Gross Margin = SUM ( Sales[Margin] )
-- Margin rate: the margin divided by revenue.
-- DIVIDE avoids the divide-by-zero error (it returns blank instead).
Margin Rate = DIVIDE ( [Gross Margin], [Revenue] )
-- Number of orders: adds up the Orders column
Order Count = SUM ( Sales[Orders] )
-- Average order value: revenue divided by the number of orders
Avg Order Value = DIVIDE ( [Revenue], [Order Count] )
-- Revenue change between 2024 and 2025
Change 2025 =
VAR Rev2025 = CALCULATE ( [Revenue], Sales[Year] = 2025 ) -- revenue, keeping only 2025
VAR Rev2024 = CALCULATE ( [Revenue], Sales[Year] = 2024 ) -- revenue, keeping only 2024
RETURN
DIVIDE ( Rev2025 - Rev2024, Rev2024 ) -- the difference relative to 2024
Then give Margin Rate and Change 2025 a Percentage format: select the measure, then Measure tools › Format › Percentage. The visual uses each field's format, and the automatic total skips percentage columns.
Preparation pitfalls:
- A numeric column summed by mistake. If you drag the
Yearcolumn into the table, Power BI may sum it (2024 + 2025…). Select it in the Data pane and set Column tools › Summarization to Don't summarize. - A rate in a calculated column. It would be summed in the total. Always write a ratio as a measure with
DIVIDE. - Links. A column whose data category is Web URL (Column tools › Data category) becomes a clickable link.
- Volume. The visual loads up to 100,000 rows; above 300 rows, only the rows visible on screen are drawn (scrolling stays smooth).
- Empty rows. Rows where every measure is blank are removed.
Step by step: your first Plume table in 10 minutes
We start from the data and measures in "The data you need".
-
Click an empty area of the page, then the Table Plume icon in the Visualizations pane. An empty frame appears, with a welcome page inviting you to add fields.
-
Drag
Product, thenCategory, into the Columns well. The table shows six rows, one per product. -
Drag into the same well, in this order,
Revenue,Change 2025,Margin Rate,Order Count, andAvg Order Value. The order in the well becomes the column order; numbers are right-aligned. -
In the Format pane, Totals card: turn on Show. A "Total" row appears at the bottom.
Change 2025andMargin Ratehave no value there (they are percentages), butAvg Order Valueshows a sum that makes no sense. -
In the Column formatting card, open the list at the top of the card and choose
Avg Order Value. Set Total to None. The total cell forAvg Order Valueempties; the other columns don't change. -
In the same list, choose
Change 2025. Set Conditional formatting to Colored negatives. The drops (Linen Pendant, Linen Sofa, Velvet Cushion) turn red. -
Choose
Revenuein the list. Set Display units to Thousands and Decimals (-1 = field format) to 0. Amounts are shown in thousands, with no decimals. -
Grid card: turn on Banded rows. Every other row is lightly shaded.
-
Toolbar card: turn on Show. A search box and the row count appear above the table.
-
Try it: click the
Revenueheader to sort, then type "linen" in the search box.
Expected result: a table of 6 products, sorted by revenue, with drops in red, revenue in thousands, a total row with no absurd values, and a search that keeps only Linen Pendant and Linen Sofa (search ignores accents and capitalization).
Troubleshooting
| What you see | Likely cause | Fix |
|---|---|---|
| No fx button on the Format pane colors | Power BI doesn't offer conditional formatting to table- or matrix-type visuals. | Use the free Cell elements card (background, font, icons, links by rules or by measure), or a measure in Dynamic format. |
| A column's total cell is empty | The column has a percentage format: the Automatic total skips it. | Choose the column in Column formatting and set Total (Average, Minimum…) if a calculation over the displayed rows works for you. |
| A meaningless total (average order value summed) | The Automatic total adds up the displayed values. | Set Total to None for that column. |
| No Conditional formatting for a column | The column isn't numeric, or the list at the top of the card points to another column. | Check which column is selected in the list. |
| A setting was applied to every column | The list at the top of Column formatting was set to All columns. | Choose the column you want before changing settings. |
| No search box | The Toolbar is off by default. | Toolbar › Show. |
| Names typed in Group do nothing | Collapsible groups ★ is off. | Turn it on in Column groups. |
| A column disappeared after turning on row groups | It is used as a title row; its name is in the first column's header. | This is expected; set Group by the first columns ★ to 0 to go back to a flat table. |
| Auto-scroll doesn't move | All rows fit in the visual, the mouse is over the visual, or the bottom was reached with Loop (back to the top at the end) off. | Make the list longer or the visual smaller; move the mouse away; turn on Loop (back to the top at the end). |
| A measure in Dynamic format has no effect on a column | A setting made by hand for that column overrides the All columns level. | Remove that column's exception. |
| The "Premium preview" watermark appears | A ★ feature is used without a key (formatting, slanted headers, groups, auto-scroll, sparkline, style). | Paste your key or switch back to a free option (see the common basics). |
Key takeaways
- One well is enough: Columns, where the order of the fields is the display order.
- Column formatting works as "general setting, then exceptions": always check which column is selected in the list at the top of the card.
- Write ratios as measures and set the Total column by column.
- Sorting, widths, and search change what is displayed, never the report filters.
- Feel free to try the ★ features: without a key, they only show a watermark.
Learn more
- Table Plume: 10 how-to guides (rates, bars, groups, auto-scroll…): recipes for common needs.
- Table Plume: every field and setting explained: each field well and each setting.
- Getting started with Plume visuals: installation, license, styles, and settings shared by all the visuals.
- The visual's page: Table Plume. A question? Support.