A Cartesian join does show everything.
Something isn't right with your portal.
Your title includes the phrase "same table". Do you mean that the layout and the portal are based on the same data source table?
If so, then if your layout specifies: Table Occurrence A in Layout Set up | Show Records From, then your portal must specify Table Occurrence A 2 (or whatever the name of the occurrence on the other side of your Cartesian Join). The fields must then also be from Table Occurrence A 2 and not from Table Occurrence A.
What you show is typical of adding fields to the portal row from the layout's table occurrence instead of the portal's.
Also check this issue:
Enter layout mode and move the portal a few pixels. The fields inside the portal row should move with the portal without being first grouped with that portal. If they don't move with the portal, they are not correctly part of the portal row. Drag them away from the portal, release the mouse button and then drag them back, being careful not to release the mouse button before they are fully inside the boundaries of the portal row.
I'm investigating the filtering I have set up on the portal. I think that's the culprit.
That is very unlikely to produce the results shown in your screen shot.
Somehow, the original portal got all hosed up. Even after removing the portal filtering, it was still stuck showing only a single record multiple times. SO...
I drug a new portal object onto the base layout (based on Fab_Ops), and set it up to show related records from Fab_Ops_lookup, and presto it works.
So THEN in Layout mode, I opened the popover where I want it to display, removed the errant one, and replaced it with the newly created one, and it works perfectly. Not sure what it was, but somehow, FM was corn-fused.
More likely, it was doing exactly what it was set up to do and not what you wanted it to do. ;-)
But since you've deleted the original and replaced, you've fixed the problem that way the issue is now moot.