Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
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
v-eqin-msft
Community Support
Community Support

Hi @Anonymous ,

 

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

 

3.25.4.Index.PNG

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:

3.25.4.The first Minimum.PNG

 

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.

View solution in original post

2 REPLIES 2
v-eqin-msft
Community Support
Community Support

Hi @Anonymous ,

 

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

 

3.25.4.Index.PNG

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:

3.25.4.The first Minimum.PNG

 

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.

sayaliredij
Super User
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. 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.