You seem to forget that there is a relationship that does not need a key, though you do need match fields.
If you define a "dashboard" layout based on Table 1. you can set up relationships to a Sources table and a Locations table using the Cartesian Join operator (X) like this:
Table 1::anyField X Sources::anyfield
Table 1::anyfield X Locations::anyfield
Such a relationship matches any record in table 1 to all records in the related table. A portal to Sources on a Table 1 layout will show all records from Sources and a portal to Locations will show all records from Locations. You can also then specify portal filters that reduce the records shown by specifying additional criteria such as all locations scheduled for a given day.
Interestingly that works, however in the portal instead of displaying all the entries from the related field it displays the same entry over and over. It's like I'm missing a check mark to increment how it populates the field.
On the contrary, it displays every record in the related table. If you see the same value over and over, either that's what's in the table or this field is not a field from the portal's table occurrence.