Tableau generates the grand total not as a computation (such as a sum) over the displayed marks, but as the original computation at a coarser level of granularity. So in your case the ThousandFans measure is being computed across all the data without LocationDescription to partition it and returning a different result than you'd expect.
In the attached, I changed the measure to use SUM([Attendance])/1000 because that makes clear what the aggregation should be. Beyond that, I used techniques outlined in http://drawingwithnumbers.artisart.org/customizing-grand-totals-part-2 to create new calcs that I believe are returning your desired results.
DemoSales jtd edit.twbx.zip 68.2 KB
This appears to work well. One question - did you select to make a copy of the LocationDescription dimension because that dimension represented the lowest level in the data?
If I had a more complex data set that included items sold below each location (and item groups, like food/beverage/alcohol), would I instead choose the lowest level Item dimension to copy and include in all the table calcs?
thank you very much!
What happens in the Grand Total computation for a column is that it effectively removes all dimensions from Rows. In order for the calculations to work properly, they need the LocationDescription available. The LocationDescription (copy) on the Level of Detail makes that available to the Grand Total computation.
If you have more dimensions on Rows, then depending on what you are trying to do in the Grand Total you might need one or more of those dimensions as copies on the Level of Detail, depending on how you want to aggregate within the Grand Total. The post that I linked to has more description of that.