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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Chockers1
Frequent Visitor

DAX Calculate age between two dates on two different tables

Hi All,

 

I have two multiple tables on a cricket dashboard and want to work out the players age at the start of a match.

 

The first table is called "Bat" and this is what the dashboard is made up off. It has a column called start_date

 

The other table is called "PP" and that has the player profiles detials and importnatly a date called "Born". These are linked on the data table by a player ID.

 

I want to add to my dashboard using the daa from "Bat" an age calucalation essentially being - Born - Start Date and leaving just the age.

 

I've looked through heaps of forums and YT videos and cant quite work it out.

 

Really hoping someone can help.

 

Thanks

Rob

 

bat.png

1 ACCEPTED SOLUTION

@Chockers1 

Oh! Apologies for that

Average Age =
AVERAGEX (
Bat,
DATEDIFF ( MAXX ( RELATEDTABLE ( PP ), PP[Born] ), Bat[Start_Date], YEAR )
)

View solution in original post

10 REPLIES 10
Chockers1
Frequent Visitor

Thanks mate

 

The error message based on that is below

 

Sounds like the relationship isn't working?

 

error.pngrelationship.png

@Chockers1 
Please try

Average Age =
AVERAGEX (
    Bat,
    INT ( Bat[Start_Date] - MAXX ( RELATEDTABLE ( PP ), PP[Born] ) )
)

average age dax.pngaverage age.png

Thanks mate, this is what appears - is it possible to make that into how old a player is in just years?

@Chockers1 

Average Age =
AVERAGEX (
Bat,
DATEDIFF ( Bat[Start_Date], MAXX ( RELATEDTABLE ( PP ), PP[Born] ), YEAR )
)

Awesome mate, that has got it working!

 

The only thing left it shows as a minus age

 

Any ideas?age showing minus.png

@Chockers1 

Oh! Apologies for that

Average Age =
AVERAGEX (
Bat,
DATEDIFF ( MAXX ( RELATEDTABLE ( PP ), PP[Born] ), Bat[Start_Date], YEAR )
)

thank you so much works beautfully!!!

Thank you, thats the first time its got a calculation out 🙂

 

That gives me the average age, no quite what I was after.

 

I guess ideally i just want it to show the years difference between the start Date and the Born date

@Chockers1 

Please present one example 

tamerj1
Super User
Super User

Hi @Chockers1 

please try

Average Age =
AVERAGEX ( Bat, INT ( Bat[Start_Date] - RELATED ( PP[Born] ) ) )

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.

Top Solution Authors