Finding Minimum Values Using MIN and MINA in DAX

September 28, 2026 109 visits

In this article, we will learn how to find the minimum value from columns and compare values using
MIN and MINA in DAX. We will also see how MIN can work
with two scalar values and how MINA behaves differently when logical values are involved.

📥 Practice Data:
Download Practice Data Free

🎥 Prefer learning through video?
DAX YouTube Playlist

What Is MIN in DAX?

MIN returns the smallest value from a column or the smaller value between two scalar expressions.
It is commonly used when you need to identify the minimum sales amount, lowest price, earliest numeric value,
or any other smallest numeric value.

The basic forms used in this query are:

MIN Syntax
MIN(<Column>)

MIN(<Expression1>, <Expression2>)

1. Viewing the Source Table

Query

DAX Query
EVALUATE
    MaxMinTable

Step-by-step explanation

Step 1: EVALUATE
EVALUATE is used to return a table expression as the result of a DAX query.

Step 2: MaxMinTable
MaxMinTable is the table being returned. This allows us to inspect the source data before
applying the minimum-value calculations.

What will you get?

The query returns the complete MaxMinTable table. The actual rows and values depend on the
practice dataset.

Key takeaway:
Before calculating a minimum value, it is useful to understand the values contained in the source column.

2. Finding the Minimum Value from a Column

Query

DAX Query
EVALUATE
    ROW(
        "Col A", MIN(MaxMinTable[Column A])
    )

Step-by-step explanation

Step 1: ROW
ROW creates a one-row table containing the calculation result.

Step 2: “Col A”
This is the name given to the output column.

Step 3: MIN(MaxMinTable[Column A])
MIN examines the values in Column A and returns the smallest value.

What will you get?

Col A
Minimum value from Column A

The exact result depends on the values available in MaxMinTable[Column A].

Key takeaway:
MIN(Column) returns the smallest value found in the specified column.

3. Comparing Two Values Using MIN

Query

DAX Query
EVALUATE
    ROW(
        "Comparison", MIN(50, 20)
    )

Step-by-step explanation

Step 1: MIN(50, 20)
In this form, MIN compares two scalar values instead of scanning a column.

Step 2: Compare the values
DAX compares 50 and 20 and identifies the smaller value.

Step 3: Return the result
Since 20 is smaller than 50, the result is 20.

Expression Result
MIN(50, 20) 20
Key takeaway:
MIN can be used both with a column and with two scalar expressions.

4. Finding Minimum Values from Multiple Columns

Query

DAX Query
EVALUATE
    ROW(
        "Col A", MIN(MaxMinTable[Column A]),
        "Comparison", MIN(50, 20),
        "Col B", MIN(MaxMinTable[Column B]),
        "Col C", MIN(MaxMinTable[Column C]),
        "Col D", MINA(MaxMinTable[Column D]),
        "Col E", MIN(MaxMinTable[Column E])
    )

Step-by-step explanation

Step 1: ROW creates the result table
ROW combines all the calculations into a single-row result.

Step 2: Find the minimum of Column A
MIN(MaxMinTable[Column A]) scans Column A and returns its smallest value.

Step 3: Compare 50 and 20
MIN(50, 20) compares the two supplied values and returns 20.

Step 4: Find the minimum of Column B
MIN(MaxMinTable[Column B]) returns the smallest value from Column B.

Step 5: Find the minimum of Column C
MIN(MaxMinTable[Column C]) returns the smallest value from Column C.

Step 6: Use MINA for Column D
MINA(MaxMinTable[Column D]) is used instead of MIN. MINA evaluates values including logical
values, so its behavior can differ from MIN when logical values such as TRUE
and FALSE are present.

Step 7: Find the minimum of Column E
MIN(MaxMinTable[Column E]) returns the smallest value from Column E.

Understanding the result

Output Column Expression Purpose
Col A MIN(MaxMinTable[Column A]) Finds the minimum value in Column A
Comparison MIN(50, 20) Returns the smaller of two values
Col B MIN(MaxMinTable[Column B]) Finds the minimum value in Column B
Col C MIN(MaxMinTable[Column C]) Finds the minimum value in Column C
Col D MINA(MaxMinTable[Column D]) Finds the minimum while evaluating logical values
Col E MIN(MaxMinTable[Column E]) Finds the minimum value in Column E

MIN vs MINA in DAX

The most important difference demonstrated by this query is the use of MIN for most columns
and MINA for Column D.

Function Purpose Important behavior
MIN Returns the smallest value Commonly used for numeric columns and scalar comparisons
MINA Returns the smallest value Also evaluates logical values such as TRUE and FALSE

Why is MINA used for Column D?

The query deliberately uses MINA for Column D rather than MIN.
This is useful when the column may contain logical values and you want those values to participate in the
minimum calculation.

In DAX, logical values are considered numerically when evaluated by MINA:
TRUE is treated as 1 and FALSE as 0.

Key takeaway:
Use MIN for normal minimum-value calculations. Consider MINA when logical
values need to be evaluated as part of the calculation.

Understanding ROW in This Query

The query uses ROW to place several independent calculations into one result row.
This is particularly useful when testing DAX expressions in DAX Studio.

Basic ROW Pattern
EVALUATE
ROW(
    "Output 1", Expression1,
    "Output 2", Expression2,
    "Output 3", Expression3
)

Each pair consists of an output column name followed by the expression that calculates its value.

Important Notes

1. MIN can work with a column

When a column is supplied, MIN searches the column for the smallest value.

2. MIN can compare two scalar values

Expressions such as MIN(50, 20) allow you to compare two values directly.

3. MINA has different logical-value behavior

MINA is useful when logical values need to participate in the calculation. This is why
MINA is specifically used for Column D in this query.

4. ROW returns the calculations as a table

Even though the query contains scalar calculations, ROW produces a one-row table, making the
expressions easy to inspect in a DAX query result.

📝 Practice Exercise

Using the MaxMinTable, try creating a query that returns the minimum values of
Column A, Column B, and Column C in a single row.

Then add a scalar comparison using:

Practice Expression
MIN(100, 75)

Finally, check what happens when you use MINA instead of MIN for a column
containing logical values.

Conclusion

In this article, we learned how to find minimum values using MIN and MINA
in DAX.

  • MIN returns the smallest value from a column.
  • MIN can also compare two scalar values, such as MIN(50, 20).
  • ROW can be used to return multiple DAX calculations in a single result row.
  • MINA can evaluate logical values such as TRUE and FALSE.
  • Choosing between MIN and MINA depends on the type of values that need to participate in the calculation.

These concepts provide a foundation for working with minimum-value calculations in DAX and are especially
useful when testing expressions in DAX Studio.


📥 Practice Data:
Download Practice Data Free

🎥 Prefer learning through video?
DAX YouTube Playlist