Since you said you can change the back end, I would recommend changing the input file format.
Tableau would be better able to handle this data and produce your counts if you had one attribute per record:
Attribute Source Target Status
A Tall Tall PASS
A Tall Short PASS
B Brown Brown PASS
You might also want to add a date column or something else to uniquely identify the record.
Thank you for the suggestion. The only concern I have for your approach is the fact I'll have a large number of attributes, and I'm expecting my rows to already be in the thousands. I'll end up having several hundreds of thousands records in the table. Should this be a concern?
Not a concern if you're using an extract. We routinely work with tables with tens of millions of rows that have more than 100 columns. With as few columns as your data will have Tableau won't even break a sweat.