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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

DAX find earliest date when lowest/higher cost happened

Hi All,

 

I'm trying to create a column that returns the earliest day when lowest and highest cost happened. I have a table with header "sku_id","cost","order_date", and I have tried the formula "Min[order_date] if [cost] is max" ; but the formula didn't ran through.

 

Do any of you DAX geniuses know where I'm going wrong? Any help is much appreciated!
 
Thanks in advance!
1 ACCEPTED SOLUTION
danextian
Super User
Super User

hI @Anonymous
Assuming that this is on a per sku level, try these:

Earliest Date - Lowest Cost =
VAR __LOWEST_COST =
    CALCULATE ( MIN ( 'Table'[cost ] ), ALLEXCEPT ( 'Table', 'Table'[sku] ) )
RETURN
    CALCULATE (
        MIN ( 'Table'[order date] ),
        ALLEXCEPT ( 'Table', 'Table'[sku] ),
        'Table'[cost ] = __LOWEST_COST
    )

Eearliest Date - Highest Cost =
VAR __HIGHEST_COST =
    CALCULATE ( MAX( 'Table'[cost ] ), ALLEXCEPT ( 'Table', 'Table'[sku] ) )
RETURN
    CALCULATE (
        MIN( 'Table'[order date] ),
        ALLEXCEPT ( 'Table', 'Table'[sku] ),
        'Table'[cost ] = __HIGHEST_COST
    )









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


Proud to be a Super User!









"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.

View solution in original post

3 REPLIES 3
danextian
Super User
Super User

hI @Anonymous
Assuming that this is on a per sku level, try these:

Earliest Date - Lowest Cost =
VAR __LOWEST_COST =
    CALCULATE ( MIN ( 'Table'[cost ] ), ALLEXCEPT ( 'Table', 'Table'[sku] ) )
RETURN
    CALCULATE (
        MIN ( 'Table'[order date] ),
        ALLEXCEPT ( 'Table', 'Table'[sku] ),
        'Table'[cost ] = __LOWEST_COST
    )

Eearliest Date - Highest Cost =
VAR __HIGHEST_COST =
    CALCULATE ( MAX( 'Table'[cost ] ), ALLEXCEPT ( 'Table', 'Table'[sku] ) )
RETURN
    CALCULATE (
        MIN( 'Table'[order date] ),
        ALLEXCEPT ( 'Table', 'Table'[sku] ),
        'Table'[cost ] = __HIGHEST_COST
    )









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


Proud to be a Super User!









"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.
Anonymous
Not applicable

This works! thank you so much 🙂
amitchandak
Super User
Super User

@Anonymous , Try like these .

Date for max= calculate(lastnonblankvalue([cost], max([order_date])),filter(table,[sku_id] =earlier(sku_id)))
date for min = calculate(firstnonblankvalue([cost], max([order_date])),filter(table,[sku_id] =earlier(sku_id)))

 

if not

Can you share sample data and sample output in table format? Or a sample pbix after removing sensitive data.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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