Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Our Organization is fairly new to PowerBI and I need some help with how to properly build out the data model to accomplish a requirement.
We have 3 Tables:
Table A and Table C have 1:N relationships with Table B.
I am trying to build a report that returns the # of enrollments per program (countrow of Table C) where the Student Record (Table B) have at least 1 associated Placement (Table A) with column "Type" = "Job Placement"
Solved! Go to Solution.
I was able to achieve this goal by adding a column onto the enrollments table (Table C) that used the Filter() condition and the GUID of the related table B.
I also found I needed the date of the newest record in the rolated table so I added that logic with a MAXX and TOPN function (Thanks to @froxas on post https://community.powerbi.com/t5/Desktop/how-get-last-record-of-relation/m-p/887340#M425333)
Here's what the expression ended up like.
Positive Placement =
if(
COUNTROWS(
FILTER('Student Placements',
'Student Placements'[Student (c9_student)] = Enrollments[Student Name (c9_studentname)] &&
SWITCH('Student Placements'[Type],
"Job Placement", True,
"Military", True,
"Continuing Education", TRUE,
FALSE)
)
) >0,
MAXX(
TOPN(
1,
FILTER('Student Placements',
'Student Placements'[Student (c9_student)] = Enrollments[Student Name (c9_studentname)] &&
SWITCH('Student Placements'[Type],
"Job Placement", True,
"Military", True,
"Continuing Education", TRUE,
FALSE)
),
'Student Placements'[Start Date],DESC),
'Student Placements'[Start Date]),
BLANK()
)
I was able to achieve this goal by adding a column onto the enrollments table (Table C) that used the Filter() condition and the GUID of the related table B.
I also found I needed the date of the newest record in the rolated table so I added that logic with a MAXX and TOPN function (Thanks to @froxas on post https://community.powerbi.com/t5/Desktop/how-get-last-record-of-relation/m-p/887340#M425333)
Here's what the expression ended up like.
Positive Placement =
if(
COUNTROWS(
FILTER('Student Placements',
'Student Placements'[Student (c9_student)] = Enrollments[Student Name (c9_studentname)] &&
SWITCH('Student Placements'[Type],
"Job Placement", True,
"Military", True,
"Continuing Education", TRUE,
FALSE)
)
) >0,
MAXX(
TOPN(
1,
FILTER('Student Placements',
'Student Placements'[Student (c9_student)] = Enrollments[Student Name (c9_studentname)] &&
SWITCH('Student Placements'[Type],
"Job Placement", True,
"Military", True,
"Continuing Education", TRUE,
FALSE)
),
'Student Placements'[Start Date],DESC),
'Student Placements'[Start Date]),
BLANK()
)
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 48 | |
| 45 | |
| 41 | |
| 20 | |
| 17 |
| User | Count |
|---|---|
| 69 | |
| 63 | |
| 32 | |
| 31 | |
| 23 |