I have an ssrs matrix , the design of which looks like this :

The sql
This answer works only for matrixed (varied count) columns. But in all reports client want to group report data dynamicly and select column that one want to see. So if I have matrix for example with columns -
[Store] [Good] [Amount Jan] [Amount Feb].... [Amount Dec]
I can hide any column with Amount but If I right click on column Store - No option in menu- Column properties and option Column Visibility - Disabled. If apply visibility to cells - you'll see a blank space.