Search, filter and group across all columns in a tall and wide dataset quickly
Even if we generate a precomputed table with all of the columns in it (example: 80 columns, 300K rows), performing analysis on this is slow [...] Since we do not know ahead of time which fields would be queried on the most, we cannot put indexes on specific columns. On the other hand, (correct me) I don't believe it's best to place 80 indexes on a table.


From a SQL Server point of view, the most obviously applicable technology solution is to create a clustered or nonclustered columnstore index (on all columns) on the 'precomputed' table.

Nonclustered columnstore indexes are available from SQL Server 2012 onward, though the table is then read-only. Given the 'precomputed' word, I assume this would be acceptable. Updatable and clustered columnstore indexes were added in SQL Server 2014. Both require Enterprise Edition.

Assuming your table data types are compatible, and enough memory is available, a columnstore solution ought to provide you with very fast results for the unpredictable select, project, and group by queries you describe.

For further details, see the excellent SQL Server Columnstore Index FAQ and Columnstore Indexes Described on MSDN.