You can use multi field choice filters to allow users to choose which fields they want to display on a table. For example, the below inventory report has a large number of possible columns. At any given point, the user might want to see a subset of these columns to make the report more manageable:
First, click on Create Filter, Advanced Options, and Multi Field Choice Filter:
When you View the report or look at the report in a dashboard, you can clicks on the filter name to include or exclude any fields in the report:
You can set fields to default to hidden when the report is loaded by clicking on the field name in the report and choosing 'Default Column to Hidden':
You can also set fields as always showing and not coming up in the list of include/exclude by clicking on the field name in the report and choosing 'Column Can't Be Hidden'.