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
lutho
Helper II
Helper II

Advise on best approach -

I all, I am looking fo some guidance on best practice.

I am creating a student dashboard. I have a big data table that contains data from an annual student test covering multiple years. I can select a student via basic slicer and diplay current subjects and the series of  annual scores.

However I need to show student performance in the context of the other students for that year either as a box or violin plot (ie. Year 5 student vs all Year 5 students in 2013, Year 6 student vs all year 6 students in 2014 etc). The slicer reduces the data set to just the student so the box/violin ends up with one data point.

I can easily create an alternate table using SQL but it seems so wrong to not do this in PBI. What would be the best practice approach? I just need a pointer and can run with it from there.

Thanks in advance.

1 ACCEPTED SOLUTION
westwrightj
Resolver III
Resolver III

Hey @lutho 

 

  As @amitchandak  mentioned it would be best to have some sample data and a sample output to answer this question.

 

Without this, here is some sample data I have included to try and meet your solution

 

westwrightj_0-1605207343644.png

 

Also I've gone ahead and duplicate this table in the query editor and paried it down just to unique Student-Year combinations

westwrightj_1-1605209055596.png

 

The tables are connected by year and one filters the other in a one way many to many relationship

 

westwrightj_2-1605209080295.png

 

Now we can write a measure like this

 

Students From Same Year as Selected = 

var TheStudent = VALUES('Test Data (2)'[Student])

var TheYear = CALCULATE(MAX('Test Data'[Year]), 'Test Data'[Student] in TheStudent)

return

CALCULATE(MAX('Test Data'[Score]), 'Test Data'[Year] = TheYear)

 

This will allow us to make a violin chart that will adjust based on the year of our selected student

 

westwrightj_3-1605209158882.png

 

westwrightj_4-1605209168404.png

 

If you wanted to also see the selected student's score you could add a card with this measure

 

Student Score = 

var TheSelectedStudent = SELECTEDVALUE('Test Data (2)'[Student])

return

CALCULATE(MAX('Test Data'[Score]), 'Test Data'[Student] = TheSelectedStudent)

westwrightj_5-1605209261538.png

 

 

 

westwrightj_6-1605209271142.png

 

 

Let me know if this helps or if you were looking for different functionality.

 

 

View solution in original post

2 REPLIES 2
westwrightj
Resolver III
Resolver III

Hey @lutho 

 

  As @amitchandak  mentioned it would be best to have some sample data and a sample output to answer this question.

 

Without this, here is some sample data I have included to try and meet your solution

 

westwrightj_0-1605207343644.png

 

Also I've gone ahead and duplicate this table in the query editor and paried it down just to unique Student-Year combinations

westwrightj_1-1605209055596.png

 

The tables are connected by year and one filters the other in a one way many to many relationship

 

westwrightj_2-1605209080295.png

 

Now we can write a measure like this

 

Students From Same Year as Selected = 

var TheStudent = VALUES('Test Data (2)'[Student])

var TheYear = CALCULATE(MAX('Test Data'[Year]), 'Test Data'[Student] in TheStudent)

return

CALCULATE(MAX('Test Data'[Score]), 'Test Data'[Year] = TheYear)

 

This will allow us to make a violin chart that will adjust based on the year of our selected student

 

westwrightj_3-1605209158882.png

 

westwrightj_4-1605209168404.png

 

If you wanted to also see the selected student's score you could add a card with this measure

 

Student Score = 

var TheSelectedStudent = SELECTEDVALUE('Test Data (2)'[Student])

return

CALCULATE(MAX('Test Data'[Score]), 'Test Data'[Student] = TheSelectedStudent)

westwrightj_5-1605209261538.png

 

 

 

westwrightj_6-1605209271142.png

 

 

Let me know if this helps or if you were looking for different functionality.

 

 

amitchandak
Super User
Super User

@lutho ,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.