Tableau Funtion: RUNNING_MIN( )

Tableau Function: RUNNING_MIN( )

Category: Table Calculation Functions

Purpose

The RUNNING_MIN() function in Tableau is a table calculation that returns the minimum value encountered so far within a partition. For each row, it evaluates all values from the first row through the current row and returns the smallest value seen up to that point.

In simple terms, RUNNING_MIN() answers:
“What is the lowest value reached so far?”

Type of Calculations

  • Table calculations

  • Cumulative (running) calculations

  • Order-dependent comparisons

  • Trend floor and low-point analysis

RUNNING_MIN() is evaluated after aggregation and depends on the view’s sort order and table calculation direction.

Practical Use Cases

  • Tracking record lows over time

  • Monitoring minimum performance levels

  • Identifying lowest values reached to date

  • Comparing current values against historical lows

  • Analyzing downside risk or performance declines


RUNNING_MIN(expression)

ParameterTypeDescription
expressionAggregate / table calculationThe numeric expression whose running minimum will be calculated. Must be aggregated in the view.

How It Works?

Mathematical / Logical Principle

For each row n, RUNNING_MIN() calculates:

RUNNING_MIN = MIN(values from row 1 to row n)

This produces a rolling minimum that can only stay the same or decrease as additional rows are evaluated.

Example Formula

RUNNING_MIN(SUM([Sales]))

Returns the lowest Sales value reached up to each point

What Does It Return?

  • Data Type: Numeric (same type as the expression)

  • Meaning:

    • Returns the minimum value from the first row through the current row

    • The value is non-increasing across rows

Example Output

RowValueRUNNING_MIN()
1100100
2120100
39090
411090

When Should We Use It?

Use RUNNING_MIN() when you need to:

  • Identify cumulative low points

  • Track worst performance to date

  • Analyze downside trends or risk exposure

  • Compare current values to historical minimums

  • Build alerts or benchmarks for underperformance

Basic Usage

Running minimum of a measure


RUNNING_MIN(SUM([Sales]))

Displays the lowest Sales value reached so far

Column Usage

Track lowest profit to date


RUNNING_MIN(AVG([Profit]))

Useful for monitoring declining performance

Difference from running minimum


SUM([Sales]) - RUNNING_MIN(SUM([Sales]))

Shows how far current sales are above the historical low

Advanced Usage

Flag new record lows


IF SUM([Sales]) = RUNNING_MIN(SUM([Sales]))
THEN "New Low"
ELSE "Above Minimum"
END

Highlights new minimum values

Running minimum within partitions


RUNNING_MIN(SUM([Sales]))

(with Compute Using set per Category)

Tracks lowest values independently per group

Tips and Tricks

  • Always define sorting clearly (especially for time series)

  • Best used with ordered dimensions like Date

  • Combine with RUNNING_MAX() for range analysis

  • Incorrect sorting can produce misleading results

  • Not suitable for row-level or LOD expressions

Related Functions

Functions commonly used alongside or as alternatives to RUNNING_MIN():

  • RUNNING_MAX()

  • RUNNING_SUM()

  • RUNNING_AVG()

  • WINDOW_MIN()

  • LOOKUP()

  • INDEX()

We’ve got plenty of resources to help you master Tableau functions. For more details, check out the official Tableau documentation. Or, if you’re ready for more practice, let’s dive into related functions and build your Tableau skills further!

If you’re ready to harness the full power of Tableau and elevate your data analytics capabilities, our expert Tableau consulting services are here to guide you. Whether you need support with building advanced calculated fields, creating dynamic visual dashboards, or optimizing your data sources for peak performance, our team of experienced Tableau consultants delivers customized solutions designed for your business needs. Visit our Tableau Consulting page to discover how we can help your organization turn data into impactful, insight-driven decisions.

1. What does RUNNING_MIN() do in Tableau?

It returns the lowest value encountered so far within a partition.

2. Is RUNNING_MIN() affected by sorting?

Yes, sorting determines the order in which values are evaluated.

3. Is RUNNING_MIN() a table calculation?

Yes, it is evaluated after aggregation and depends on the view layout.

4. Can RUNNING_MIN() ever increase?

No, the running minimum never increases as more values are evaluated.

5. How is RUNNING_MIN() different from WINDOW_MIN()?

RUNNING_MIN() accumulates progressively, while WINDOW_MIN() computes a minimum over a fixed window.