When I create a table, the actual value is different to the expression total. The expression total is actually the correct value that need to display for that particular company. I have attached the example.
The best pointer I could provide here to find things would be to break apart the expression into separate text box objects, so you can check the results of each part of the expression to see if there is a problem in the expression somewhere. I noticed you are using variables etc., so little tricky to try to sort this for you, but hopefully this may give you a means to figure out where things have gone wrong.
The Sum by Expression is collapsing duplicate row data, just FYI, whereas Sum of Rows is using all rows regardless of whether they are duplicated, so it does appear to have to do with the underlying data and duplicates there causing the sum to end up being too high. Hope this helps a little.
I pulled the following from the Help, may clarify a bit better than I tried to explain things:
Expression Total The total of the expression evaluated on the next level. For example, if an expression generates the average monthly salary for a number of employees, the Expression Total will generate the total average of all the salaries.
F(x) of Rows If this option is selected, the individual values of each data point (each bar in a bar chart, each row in a straight table etc.) for the selected expression will be aggregated using the aggregation function selected from the drop-down list (typically summed up).
To help users find verified answers, please don't forget to mark a correct resolution or answer to your problem or question as correct.