GoodData will literally grab any data point you want. You can cross reference data and create all desired reports.
Difficult to use. In my eyes, it's not an out of the box solution. We've completed multiple training sessions and it is difficult to use. The pricing structure is also very expensive.