cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Anonymous
Not applicable

## Get Minimum of Group within Column but handle duplicate values

So I have a price column by day. This column can contain duplicates. I'm trying to create a column that returns "Y" when the value in the Price column is the Minimum amount. However, I only want to return one "Y" even though there can be two or more minimum prices. Is there a way to handle this? This is what I have:

``````Min Indicator =
IF (
CALCULATE (
MIN ( 'Historical'[Price] ),
FILTER (
'Historical',
'Historical'[Rank Key] = EARLIER ( 'Historical'[Rank Key] )
)
) = [Price],
"Y",
"N"
)``````

But if the minimum price shows up twice, it returns two "Y" values which I don't want.

1 ACCEPTED SOLUTION
Community Support

Hi @Anonymous ,

Please try the following formula to create a column after adding a Index column:

``````Min Indicator =
VAR _min =
CALCULATE (
MIN ( 'Historical'[Price] ),
ALLEXCEPT ( Historical, Historical[Rank Key] )
)
VAR _first =
MINX (
FILTER (
'Historical',
'Historical'[Rank Key] = EARLIER ( 'Historical'[Rank Key] )
&& 'Historical'[Price] = _min
),
[Index]
)
//Or use FIRSTNONBLANK()
// var _f =
// CALCULATE (
//     FIRSTNONBLANK ( 'Historical'[Index], TRUE () ),
//     FILTER (
//         'Historical',
//         'Historical'[Rank Key] = EARLIER ( Historical[Rank Key] )
//             && 'Historical'[Price] = _min
//     )
// )

RETURN
IF ( _first = [Index], "Y", "N" )
``````

The final output is shown below:

Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

2 REPLIES 2
Community Support

Hi @Anonymous ,

Please try the following formula to create a column after adding a Index column:

``````Min Indicator =
VAR _min =
CALCULATE (
MIN ( 'Historical'[Price] ),
ALLEXCEPT ( Historical, Historical[Rank Key] )
)
VAR _first =
MINX (
FILTER (
'Historical',
'Historical'[Rank Key] = EARLIER ( 'Historical'[Rank Key] )
&& 'Historical'[Price] = _min
),
[Index]
)
//Or use FIRSTNONBLANK()
// var _f =
// CALCULATE (
//     FIRSTNONBLANK ( 'Historical'[Index], TRUE () ),
//     FILTER (
//         'Historical',
//         'Historical'[Rank Key] = EARLIER ( Historical[Rank Key] )
//             && 'Historical'[Price] = _min
//     )
// )

RETURN
IF ( _first = [Index], "Y", "N" )
``````

The final output is shown below:

Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Super User

You can try using RANKX instead of finding out the Minimum and assign Y when the rank is 1

This way you can probably solve the issue.

Proud to be a Super User!

Announcements

#### Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

#### Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

#### Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

#### Fabric Community Update - September 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors