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

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
Default8129
Frequent Visitor

1-many relationship filtering problem

I have the following data model:

StudentTable - one row per student

StudentIDGraduated?StartTermEndTerm
5Y21/FL22/SP
6N22/FL23/WN

 

StudentTermTable - one row per term enrollment for each student

StudentIDTermTerm Order (calculated column)FTEProgram
521/FLStart Term

1.2

Nursing
522/WN 1.2Nursing
522/SPEnd Term0.5Nursing
622/FLStart Term1.0Education
623/WNEnd Term1.0Accounting

 

With the relationship between these tables being 1-many based on the StudentID. There are also fact tables for Term, FTE, and Program. I actually have many fields in the StudentTermTable, all with their own fact tables, but this is a small sample of the information.


What I'd like users to be able to do is, for example, filter the report to show data only for our students who started full-time (FTE >= 1) and ended part-time-time (FTE < 1). So here I'd want to include student #5 (their starting term 21/FL enrollment was full-time and their ending term 22/SP enrollment was part-time), but I'd want to exclude student #6 (starting term 22/FL enrollment was full-time but their ending term 23/WN enrollment was also full-time). There are many fields in StudentTermTable that users might want to use to filter both the start term and end term: campus, athletic teams, campus organizations, housing status, various financial aid data, etc. so I need to give them the flexibility to filter both the start term records and end term records by all these term-specific fields.


I can't figure out what to do so that the report allows users to easily filter this way without making major changes to my data model. Currently the only solutions I can find basically require me to completely re-work StudentTermTable which is already very large (600,000 rows) and has many fact tables associated to it.


I could pivot my StudentTermTable so I have a StudentTermTable (StartTerm) and StudentTermTable (EndTerm). I could create compound fact tables (e.g. permutation of {"Start Term","End Term"} with each fact table) but then I'd basically double the size of my StudentTermTable table with these compound data fields. Neither of these seem elegant nor efficient to me.


Is there a good solution to this need?

2 REPLIES 2
guibenassi
Advocate II
Advocate II

I would recommend you to use measures that calculate count of students and filter all Date after Min(date) and all Date before Max(date) in segmentation.

 

How would that solve this issue? If by "date" you're referring to the Terms then your solution would only work if I didn't need to additionally filter my students by the data fields attached to their terms.

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.