The samples below show how you can allow users to specify the columns they want to see and the columns will be shown in their report/dashboard accordingly.
Dynamic Column Report - Users can enter the names of the columns they want to see and the report will display the columns accordingly. Dynamic Column Report
Dynamic Column Dashboard - Users can select the column names from the grid in the dashboard and the content of the report view below will change accordingly. Dynamic Column Dashboard
Dynamic Cube - Users can select the column names from the grid in the dashboard and the cube in the view below will change accordingly . Dynamic Cube