We had experimented a bit making the PAT reports customizable similar to reporting measures but it wasn't something we can easily do. I do have an example of this but it requires building PAT in a development environment, and we can not support issues you hit.
There is an alternative. The OpenStudio Server creates a results.csv file with a row for every datapoint. There is a column for each measure argument value and for selected runner.regierValue objects. runner.registerVaslues can be added by any measure but are typically added by reporting measures to store processed results. The last step to get a runner.registerValue into the result is to add it in PAT as an output variable. There are some pre-defined ones you can select, but you can add custom ones as a string as long as they exist in the measure.You could then aggregate or compare datapoints in Excel or with another script.
OpenStudio Results already had hundreds of runner.registerValues and has an SI/IP switch. The easiest ways to see what is available is to look at the out.osw of a prior simulation. Under step values you see a bunch of items like this. Add the ones you want in PAT as output variables. If the outputs you are looking for are not herre, then you might have to write your own reporting measure, or use another reporting measure.
"name" : "end_use_electricity_interior_equipment",
"units" : "kWh",
value" : 732166.66666666
One last approach is a server finalization script that can run on OpenStudio Server. This doesn't generate reports but has access to all of the data that makes it into the results.csv file and can post-process results to compare datapoints or identify a best datapoint for some criteria. This takes some effort so is more useful for a process that has to be used many times. I'm not sure if we have an example published, but I can find one if someone is interested.