For the Matchup Table, I would also add a Date and Start Time column. I wasn’t expecting you to try and prefill this table, so the Valid Ifs were for Team and Opp to ensure you only picked teams from the player list, and that you couldn’t enter the same team (ie. CAR vs CAR). I would still do this anyway to make it easy to update and continue into the future for adding games in additional years. Again this step is for when you are adding the games information itself. This will be the table for the “Pick A Game” view. The date and time will be useful for filtering. Especially if you are adding every matchup for the year ahead of time.
In the Players table, you can delete Opp because we don’t use it anymore. Team here should be a Ref type column (base type Text) pointing to Matchups. Leave “Is a part of” unchecked. The reason Opp here is erroneous is because we’ll already have the details of which team is playing which team in the Matchup table week by week, so there is no reason to duplicate it here. With team being a Ref this should generate a [Related Players] VC being generated back in the Matchup table but we might need to tweak it…maybe. But that will allow you to only see players who will play in that game for you to add to your lineup. We’ll also be adding an action for this table to “Add row to another table using values from this row” option to do the adding to your lineup, if you haven’t already done something similar.
I didn’t know you had a lineup table (Final Lineup) already, so it can probably be the same one depending on your goals. But yes, it should be blank until a user has started adding players to their lineup. In this table is where you could optionally set Valid Ifs to ensure the following of any FF rules (i.e. you can only field 1 QB, 2 WR, etc…). You can delete the Games column here as well as Opp.
Lastly, to on your final view to only see games of players you have in your lineup, create a Slice called My Games based on the Matchups table with the filter condition
OR(IN([Team], Lineup[Team]), IN([Opp], Lineup[Team])) and set that as your source for the view you want for this function.