For an environment like shopify (which I've never used, so speculating), their reports are much more likely optimized database queries or views, or even created from specially stored statistics data not from querying raw db tables, with caching or pre-generation at some point. This means there's a lot of thought behind every report, and what's possible with the current db/stats schema. Adding a column to a report might mean modifying the db schema.
The final issue is that user interface complexity goes up as reporting flexibility goes up. A super powerful interface that few people take the time to use is worth less than a limited interface that provides value to more people. The task is attempting to satisfy power users and more complex needs, while providing a very useful default functionality out of the box.