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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
JRoj
Frequent Visitor

DAX - find the earliest date in a group and keep other columns

Hello, I would need some help with DAX as I just can't get through this one task.

This is a sample data containing 5 columns with student's grades from each class, subject on given date.

Class     Subject                       Name       Grade         Date
1BMathematicsJohn518.01.2023
1BMathematicsJohn515.01.2023
1BMathematicsJohn414.01.2023
2AScienceAndre314.01.2023
2AScienceAndre212.01.2023

 

Using DAX formulas my goal would be: for each Student in a Class and Subject I would like to filter out only the latest grade that he was given. So the output should be:

Class         Subject             Name        Grade  Date 
1BMathematicsJohn518.01.2023
2AScienceAndre314.01.2023

 

I tried several approaches. With GROUPBY function I tried to group by Class, Subject and Name and find the latest date for each group but than I was missing the grade 😞

I also thought of joining my main table to GROUPBY output on 4 columns (Class, Subject, Name, Date) but in DAX you can't join by multiple columns 😞

 

This is just simplified problem. I hope you understand and can provide me with some help regarding this.

Thank you 🙂

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

It is for creating a calculated table.

 

Jihwan_Kim_0-1674135253350.png

New table =
VAR _groupbylatestdate =
    GROUPBY (
        Data,
        Data[Class],
        Data[Subject],
        Data[Name],
        "@latestdate", MAXX ( CURRENTGROUP (), Data[Date] )
    )
RETURN
    CALCULATETABLE (
        Data,
        TREATAS (
            _groupbylatestdate,
            Data[Class],
            Data[Subject],
            Data[Name],
            Data[Date]
        )
    )

 

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

View solution in original post

1 REPLY 1
Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

It is for creating a calculated table.

 

Jihwan_Kim_0-1674135253350.png

New table =
VAR _groupbylatestdate =
    GROUPBY (
        Data,
        Data[Class],
        Data[Subject],
        Data[Name],
        "@latestdate", MAXX ( CURRENTGROUP (), Data[Date] )
    )
RETURN
    CALCULATETABLE (
        Data,
        TREATAS (
            _groupbylatestdate,
            Data[Class],
            Data[Subject],
            Data[Name],
            Data[Date]
        )
    )

 

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

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!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

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