You should look into advanced aggregation, i.e. the aggr() function which allows to calculate an expression in different context than the chart dimension. In your case, try an expression like
=aggr(Sum(Weight)/Sum( Total <DealID>Weight),ItemID,DealID,Item,State)
for Factor in your second chart.
Hope this helps,