So I think I came up with a solution to the problem and I now have the Proposal History table view/crosstab formatted the way I/our management wants it, straight across with no duplicate values or empty cells. The issue was around the [Proposal Person Type] dimension that contains up to 4 values/members. So when I was dropping my original calculated fields into the Viz I was able to obscure or hide the values that I didn't want for a certain condition (e.g. IF [Proposal Person Type] = 'SPOKESPERSON' THEN 'Y' ELSE '' END). But I was not really removing them from the Viz LOD so I was getting multiple rows and duplicating rendering on my last column because under certain conditions a person might have 2-3 roles/values.
I ended up creating 2 new calculated fields that force a return of one value. In this case I am lucky that the two [Proposal Person Type] roles that I am interested reside at the min and max positions. It's late and I'm not sure if this explanation is making any sense. This doesn't feel like the most elegant solution to the problem so if anyone has any other ideas I would be interested in hearing them.
Calculated Field for Spokesperson
IF MAX([Proposal Person Type]) = 'SPOKESPERSON' THEN 'Y' ELSE '' END
Calculated Field for Collaborator
IF MIN([Proposal Person Type]) = 'COLLABORATOR' THEN 'Y'