Visuals/Pl. XLI

    Sparklines

    One small trend per plant, all on one honest scale

    A sparkline table or a grid of KPI tiles: the line, the last value and the change for every plant, product or region, side by side.

    Read the documentationComing soon to Microsoft Marketplace
    Datasheet
    Status
    Coming soon to Microsoft Marketplace
    Price
    $1.99 /user/mo · $19 /user/yr
    Licensing
    Per user, assigned in the Microsoft 365 admin center. Unlicensed viewers see the free tier, never a blocked visual.
    Data
    Computed inside Power BI. No external calls, no API keys, no telemetry.
    Visuals API
    5.11.0
    Accessibility
    One tab stop with arrow keys between rows and tiles, screen-reader live region, arrows and signs besides colour, high contrast, focus outline and minimum text size
    Languages
    20: English, Chinese (Simplified and Traditional), Czech, Danish, Dutch, French, German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese (Brazil and Portugal), Slovak, Spanish, Swedish, Turkish
    Fields
    Axis (date), Legend, Values, Target, High, Low, Small multiples, Tooltips
    Data volume
    30,000 rows per data window, up to 150,000 with fetch more
    Network
    No external calls, no telemetry
    Works in
    Power BI Desktop, Service, Embedded
    Sparkline table of twelve plants with 52 weeks of OEE each, last value, year-end projection, change and change % columns
    Pl. XLI  ·  Sparklines  ·  Every week of every plant on one shared scale, with where each plant lands by December.rendered from the shipped visual
    What it does

    SmartVisuals Sparklines puts a small trend line next to the numbers for many things at once. Bind a date, the rows and a measure, and each plant, product or region gets its sparkline, last value, change and change %, in a table that scrolls under a fixed header or as KPI tiles for a wall screen.

    The rows share one scale by default, so the lines can be compared by height, and the change is coloured by whether higher is better, with signs and arrows besides colour. Everything is computed inside the visual: no network calls, no telemetry, and the trend statistics are tested against scipy and pymannkendall.

    Search all visuals

    Free and premium

    Where the line is, exactly.

    Report authors see the full premium set in edit mode, so you can evaluate every feature on your own data before assigning a single licence. Unlicensed viewers always get a working chart.

    Free tierevery viewer
    • Table or KPI tilesA table with columns for name, sparkline, last value, change, change %, minimum, maximum and target, switchable and reorderable, or a grid of KPI tiles with the value, the change and the sparkline.
    • Five spark typesLine, area, columns, win/loss and last value against the target (a bullet strip).
    • An honest shared scaleEvery row on one scale by default, or independent scales for shape, and then the header says "independent scales".
    • Markers, normal range and targetMarkers for the first, last, minimum, maximum and negative points; a normal range band; a dashed target line.
    • Sorting and a hover labelSort by name, last value, change or change %; a label follows the pointer along each sparkline with the date and value.
    • Up to 10 rows, every periodTen rows with every period of each, no point cap per sparkline. The table scrolls under a fixed header, and when tiles do not fit, the footnote says how many are shown.
    • Power BI featuresTooltips with your Tooltips fields on every row and tile, report page tooltips, cross-filter with Ctrl multi-select, bookmarks, the context menu, conditional formatting (fx) on column and win/loss sparklines when the rows are measures, dynamic format strings, four themes and 20 languages.
    • AccessibilityOne tab stop with arrow keys between rows and tiles, a screen-reader live region, arrows and signs besides colour, high contrast, Reduce Motion, focus outline and minimum text size settings.
    Premium$1.99 /user/mo · first month free
    • Every rowEvery row Power BI sends, with no 60-row limit in this visual, in a scrolling table, plus a drawn summary sentence such as "8 of 12 improved; Birmingham moved the most the wrong way (-4.4 %)."
    • Year-end projection per rowWhere each row lands by the end of the year: a dashed tail with its 80 % interval and a Year end column, from an ETS forecast per row.
    • Which rows really changed?A Mann-Kendall trend test per row with its p-value, coloured by whether higher is better, and the count of significant rises and falls.
    • Sort by trendRows ordered by Sen's slope, a robust rate of change.
    • Change against the same period last yearThe change measured against the same period a year earlier, looked up by calendar in your data.
    • Small multiplesOne table or tile grid per value of the Small multiples field, such as one per region.

    How do I show a sparkline for every row in Power BI?

    Bind a date to Axis (date), the thing you want one row for (plants, products, regions) to Legend and the measure to Values. SmartVisuals Sparklines draws one row per Legend value with its small trend line, the last value and the change next to it, in a table or as a grid of KPI tiles. The sample report uses twelve Helios plants with 52 weeks of OEE each.

    Without a Legend, every measure in Values becomes its own row: Revenue, Units and Gross margin % as a compact KPI list. Target adds a dashed target line and a Target column, and Tooltips adds your own fields to the Power BI tooltip of each row.

    Shared or independent scale: which one should a sparkline table use?

    Shared, when the rows measure the same thing. Every sparkline then sits on one scale, so a plant that moved two points looks like it moved two points, and a flat line next to a steep one means what it seems to mean. That is the default (Sparklines > Scale > Shared (honest comparison)).

    Independent scales stretch each row to its own minimum and maximum, which shows the shape of every line but hides how big the moves are. Use them for rows in different units, such as a KPI list without a Legend. The visual then writes "independent scales" in the History column header, so a reader knows the lines are not comparable in height.

    Which change does the Change column show?

    Sparklines > Change Compares sets the base: Last vs first in view (the default, so a date slicer sets the window), Last vs previous point, or Last vs same period a year ago, looked up by calendar in your data. Change % divides by the absolute base, so a move from a negative value still reads the right way round.

    Higher Is Better decides which changes count as good: switch it off for scrap rates, costs or defects. Good and bad changes get the theme's colours, and the table also carries the sign (+4.8 %, -3.8 %) and the tiles an up or down arrow, so the direction never rests on colour alone.

    Line, area, columns, win/loss or bullet: which spark type fits?

    Line and area suit a continuous measure such as OEE or revenue. Columns suit counts per period, with negative values marked when Mark Negative Values is on. Win/loss draws only the sign of each value, above or below a middle line, which reads well for profit and loss or hit and miss. Last value vs target draws one bullet strip per row: the last value as a bar and the target as a mark.

    Markers for the first, last, minimum and maximum points are switches in the Sparklines card, and Normal Range From and To (or the Low and High fields) shade the band a row should stay in. The Table Columns setting takes the columns in your order, for example "name, spark, last, change, changePct, min, max".

    What happens with many rows, missing weeks and long histories?

    Power BI sends the data in windows of 30,000 rows, one row per item and period, and the visual asks for more windows up to 150,000 rows; 48 rows of 52 weeks is about 2,500. Every period is drawn, with no fixed point limit per sparkline. When the rows do not fit, the table body scrolls under a fixed header; the grid shows the tiles that fit at a readable size and the footnote says "Showing 7 of 12 tiles" rather than dropping any silently.

    A blank value is a break in the line, not a zero, and the change uses the first and last values that exist. A row with no values at all for the current filters is left out. The footnote states the methods used and the source you type in Footnote > Source.

    How does it fit with the rest of the Time Series suite?

    SmartVisuals Sparklines is one of six offers built on the same Time Series engine. SmartVisuals Time Series holds Line, Area, Combo, Sparklines, Candlestick and Ridgeline views over one set of fields, with a tab bar to switch between them; its Sparklines view draws up to 60 rows, the most Power BI sends to that view, while this visual has no row cap of its own. SmartVisuals Line Chart, Area Chart, Combo Chart and Candlestick are the other single views.

    Microsoft licenses each offer separately, so a licence for one never unlocks another. For sparklines alone this visual is the cheaper choice; with three or more chart types the multi-view is.

    Use cases

    Where Sparklines earns its place.

    Weekly OEE for every plant on one page

    An operations team binds Week to Axis (date), Plant to Legend and OEE to Values, with Sparklines > Sort Rows By set to Change %. Chicago, Milwaukee, Hamburg and the other plants each get a row with 52 weeks of OEE on one shared scale, the last value and the change, so the plants that slipped are at the bottom of the list.

    A KPI tile wall for the factory floor

    Sparklines > Layout > Grid of tiles with the Dark theme turns the same fields into one tile per plant: the plant name, the last value, an arrow with the change % and an area sparkline. Tile Columns fixes the number of columns for the screen; when tiles do not fit, the footnote says how many are shown.

    A compact KPI list without a Legend

    A finance analyst leaves Legend empty and puts Revenue, Units and Gross margin % in Values, with Month on Axis (date). Each measure becomes a row with its own sparkline and last value; Scale > Independent per row (shape only) keeps the different units readable, and the History header says so.

    Scrap rate against a normal range

    A quality lead binds Scrap % to Values, Plant to Legend and Target to Target, types the normal range into Normal Range From and To, and switches off Higher Is Better. Each row shades the band it should stay in, draws the target as a dashed line, and colours a falling scrap rate as an improvement.

    Getting started

    From empty canvas to first chart.

    1. 01

      Add SmartVisuals Sparklines to the page and bind a date column (or a date hierarchy) to Axis (date).

    2. 02

      Bind the rows you want, such as Plant, to Legend and one measure, such as OEE, to Values. Leave Legend empty to get one row per measure instead.

    3. 03

      Optionally bind Target for a target line and column, Low and High for a normal range, and extra fields to Tooltips.

    4. 04

      In Format pane > Sparklines choose Layout (Table or Grid of tiles), the Sparkline type, Change Compares, Scale and Sort Rows By; switch off Higher Is Better for costs or scrap.

    5. 05

      Set Table Columns to the columns you want, in order, for example "name, spark, last, change, changePct".

    Get Sparklines

    On its way.

    Installation instructions for both paths are on the download page.

    Microsoft Marketplace (recommended)

    The offer is prepared for Microsoft Marketplace and not published yet. This page will link to the listing the moment it is live.

    Coming soon
    Accessibility

    Readable and usable for everyone.

    Tab
    Moves focus to the visual, which is one tab stop; the first row (or tile) is focused.
    Up / Down arrow
    Moves to the previous or next row. In the grid of tiles, moves to the tile above or below. The table scrolls the focused row into view.
    Left / Right arrow
    In the grid of tiles, moves to the previous or next tile in the same row of tiles. In the table, moves to the previous or next row.
    Home / End
    Jumps to the first or the last row or tile.
    Page Up / Page Down
    Moves ten rows (ten rows of tiles in the grid) up or down.
    Enter or Space
    Cross-filters the report by the focused row's Legend value. Hold Ctrl to add it to the selection.
    Esc
    Clears the selection.
    • Screen readers

      The visual's accessible name is its summary sentence, such as "8 of 12 improved; Birmingham moved the most the wrong way (-4.4 %).", in every tier, whether or not the caption is drawn. As the arrow keys move, a polite live region reads the focused row: its name, last value and change %, and the trend result when the trend test is on.

    • Not colour alone

      Changes carry their sign in the table (+4.8 %, -3.8 %) and an up or down arrow on the tiles; trend results use ▲, ▼ and ● symbols with the p-value; win/loss sparklines draw wins above and losses below a middle line. Colour adds to these, it never carries the meaning alone.

    • High contrast

      In Windows high contrast mode the visual uses the contrast theme's foreground and background colours, draws the focus ring and negative changes in its selection colour, drops gridlines and ignores Transparent Background. Signs, arrows and the win/loss position still tell values apart.

    • Reduced motion

      The sparkline table and tiles draw without animation. Accessibility > Reduce Motion, and the operating system's reduced-motion setting, switch off any transition the visual has.

    • Focus Outline Colour and Focus Outline Width

      Accessibility > Focus Outline Colour and Focus Outline Width set the dashed ring around the focused row or tile (2.5 px in the theme's focus colour by default). High contrast always uses the system selection colour.

    • Minimum Text Size

      Accessibility > Minimum Text Size (0 = off) draws every label, header, caption and footnote at least this large.

    • Distinguish Series Without Colour

      This Accessibility option gives each series its own dash pattern and marker shape in the suite's line views and is switched on automatically in high contrast. In the sparkline table every row already has its own name and line, so it changes nothing here.

    • Context menu

      Right-clicking a row or tile opens the Power BI context menu for that row; right-clicking elsewhere opens it for the visual.

    • Languages

      The format pane and the text the visual writes are in 20 languages: English, Chinese (Simplified and Traditional), Czech, Danish, Dutch, French, German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese (Brazil and Portugal), Slovak, Spanish, Swedish and Turkish. Dates and numbers follow the report's locale.

    Questions

    Asked before you did.

    More questions? See support or write to hello@smartvisuals.io.

    The free tier draws the table or the tiles with every spark type, column, marker, the normal range, the target, sorting, tooltips and every accessibility feature for up to 10 rows, after sorting, so "sort by change" shows the ten biggest movers; with more rows the footnote says "Showing 10 of 48 rows". Premium draws every row and adds the summary sentence, the year-end projection, the trend test, sorting by trend, the change against the same period last year and small multiples, for $1.99 per user per month or $19 per user per year, with the first month free. Report readers without a licence keep the free render: nothing is blocked or watermarked, and authors preview every premium feature in Power BI Desktop and edit mode.

    SmartVisuals Sparklines has been prepared for Microsoft Marketplace and is not published yet. This page will link to the listing once it is live.

    No. The visual declares no network privileges and makes no external calls: no web requests, no web fonts, no telemetry. Changes, trend tests and projections are computed inside the visual in your report, and licensing goes through Power BI's own licence service.

    Axis (date) and Values. Axis takes a date, a date hierarchy, a number or text periods; Values takes the measure to draw. Legend makes one row per value (plant, product, region); without it, each measure in Values is a row. Target, High and Low, Small multiples and Tooltips are optional.

    Every period of a row is drawn, with no fixed point limit per sparkline. Power BI sends up to 30,000 rows per data window (one per item and period) and the visual fetches more windows up to 150,000. How many rows are drawn depends on the tier; see "What is free and what is premium?" above. The table scrolls when rows do not fit; the grid draws the tiles that fit and the footnote says how many are shown.

    With Scale set to Shared (honest comparison) every row uses one scale, so small moves stay small next to big ones. That is deliberate when the rows measure the same thing. To see each row's shape, choose Independent per row (shape only); the History header then says "independent scales".

    Yes. Leave Legend empty and put the measures in Values, and each measure becomes a row. Choose independent scales when the measures have different units. In this mode Data Colours offers a conditional formatting (fx) rule for column and win/loss sparklines. Clicking a row cross-filters the report only when the rows come from a Legend field.

    Set Sparklines > Sort Rows By to Change % (or Change) and Sort Direction to Descending. If lower is better, as for scrap or costs, switch off Higher Is Better so falls count as improvements and are coloured as good.

    A blank value leaves a gap in the line; it is never drawn as zero. A real 0 is a value. The last value and the change use the first and last values that exist in the window, and a row without any value for the current filters is left out.

    Yes. The visual is one tab stop. The arrow keys move between rows (and between tiles in the grid), scrolling the focused row into view; Home and End jump to the first and last row, Page Up and Page Down move ten rows, Enter or Space cross-filters the report by the row, and Esc clears. A polite live region reads each row's name, last value and change, the visual's accessible name carries its summary sentence, and Windows high contrast uses the system colours.

    20: English, Chinese (Simplified and Traditional), Czech, Danish, Dutch, French, German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese (Brazil and Portugal), Slovak, Spanish, Swedish and Turkish, for the format pane and the text the visual writes. Dates and numbers follow the report's locale.

    Post it on the public board at smartvisuals.io/feedback, where other users can vote and comment, use the Report a bug block on smartvisuals.io/support, or email hello@smartvisuals.io. A screenshot and the fields you bound help most.
    Troubleshooting

    When it does not look right.

    Found a bug or missing something? Post it on the requests board or vote for what others asked; the developer answers within two business days.

    The visual shows a hint instead of sparklines.
    It needs a time axis and a measure. "Add a date or period to Axis" means Axis (date) is empty; "Add a measure to Values" means Values is empty. "No values for the current filters" means every value is blank for the current slicers: widen the date range or check the filters.
    All the sparklines look almost flat.
    Sparklines > Scale is Shared (honest comparison), so every row uses one scale and small moves stay small next to large ones. If you want to see each row's shape, choose Independent per row (shape only); the History header then reads "independent scales" so readers do not compare heights.
    The change is coloured red for an improvement.
    Sparklines > Higher Is Better is on by default. For costs, scrap or defects switch it off, and falls are coloured as good. Change Compares sets the base of the change: first value in view, previous point or the same period a year ago.
    Clicking a row does not filter the rest of the report.
    Cross-filtering uses the Legend field: each row filters the report to its Legend value. When the rows are measures (no Legend), there is no value to filter by. Bind the item you want to filter by, such as Plant, to Legend.
    Some tiles are missing in the grid.
    The grid draws only the tiles that fit at a readable size and the footnote says "Showing 7 of 12 tiles: enlarge the visual or switch to the table layout". Make the visual larger, raise Tile Columns so fewer rows of tiles are needed, or use Layout > Table, which scrolls. If Footnote > Show is off, the note is not drawn.
    A report reader sees fewer rows or features than I see in Desktop.
    A feature marked Premium on the landing page is drawn for report readers who have a licence. Authors see every premium feature in Power BI Desktop and edit mode; a reader without a licence gets the free render with a neutral note such as "Showing 10 of 48 rows" in the footnote, and Power BI may show its own licence notice. Nothing is blocked or watermarked.
    For developers & AI agents

    Add this visual programmatically.

    Use the GUID and data roles below to add Sparklines to a Power BI report via PBIR or the Report Authoring agent. Full catalog (JSON)

    GUID available after the visual is published on Microsoft Marketplace.

    RoleDisplay nameKind
    axisAxis (date)Grouping
    legendLegendGrouping
    valuesValuesMeasure
    targetTargetMeasure
    highHighMeasure
    lowLowMeasure
    facetSmall multiplesGrouping
    tooltipsTooltipsMeasure
    Missing something?

    Tell us what is missing.

    A feature you need, a bug you hit, a visual that does not exist yet. Every message reaches the person who builds these visuals, and feature requests shape what ships next. We also build visuals to order.

    Also in the family