Skip to content
Plume Visuals
← Back
Getting startedBeginner9 min read· Published on October 4, 2026

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çais

At 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).

ProductCategoryYearAmountMarginOrders
Arc LampLighting2024388,200201,9002,680
Arc LampLighting2025412,300214,8002,840
Linen PendantLighting202496,40046,3001,210
Linen PendantLighting202588,70041,7001,105
Linen SofaFurniture2024402,600138,500410
Linen SofaFurniture2025388,950131,500395
Oak TableFurniture2024251,30092,900520
Oak TableFurniture2025276,800101,300571
Wool ThrowTextiles202458,90033,0001,470
Wool ThrowTextiles202571,20039,9001,760
Velvet CushionTextiles202441,80025,1001,980
Velvet CushionTextiles202539,40023,6001,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 Year column 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".

  1. 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.

  2. Drag Product, then Category, into the Columns well. The table shows six rows, one per product.

  3. Drag into the same well, in this order, Revenue, Change 2025, Margin Rate, Order Count, and Avg Order Value. The order in the well becomes the column order; numbers are right-aligned.

  4. In the Format pane, Totals card: turn on Show. A "Total" row appears at the bottom. Change 2025 and Margin Rate have no value there (they are percentages), but Avg Order Value shows a sum that makes no sense.

  5. 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 for Avg Order Value empties; the other columns don't change.

  6. In the same list, choose Change 2025. Set Conditional formatting to Colored negatives. The drops (Linen Pendant, Linen Sofa, Velvet Cushion) turn red.

  7. Choose Revenue in the list. Set Display units to Thousands and Decimals (-1 = field format) to 0. Amounts are shown in thousands, with no decimals.

  8. Grid card: turn on Banded rows. Every other row is lightly shaded.

  9. Toolbar card: turn on Show. A search box and the row count appear above the table.

  10. Try it: click the Revenue header 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 seeLikely causeFix
No fx button on the Format pane colorsPower 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 emptyThe 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 columnThe 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 columnThe list at the top of Column formatting was set to All columns.Choose the column you want before changing settings.
No search boxThe Toolbar is off by default.Toolbar › Show.
Names typed in Group do nothingCollapsible groups ★ is off.Turn it on in Column groups.
A column disappeared after turning on row groupsIt 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 moveAll 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 columnA setting made by hand for that column overrides the All columns level.Remove that column's exception.
The "Premium preview" watermark appearsA ★ 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