You can make three different tables for each of your cases.
Than you can use Propeties->Layout->Show condition with some variables.
Finally, use macro for Document->Triggers->OnAnySelect to show and hide corresponding tables.
It's even easyer. You can use GetFieldSelections function.
So, to check if any Month is selected use =not isnull(GetFieldSelections(Month))
See the attached example file. It uses conditional layouts based on the field selections to show different graphs. You may need to adjust the fields in your expressions, as I wasn't sure what you wanted to display in each graph, but it gives you an example of the formatting.
Thanks to both of you.
One question, When I try to have a dynamic lable for the colum header how to set the prior year value.
=if (GetSelectedCount(PERIOD_YEAR), ' Budget- ' & GetFieldSelections(PERIOD_YEAR,', ',50) , '(N/A')
set the column header as Budget- 2012
how to display Budget - 2011
similarly, if user picks year 2011, i want a column header to be 2010 budget and next column header as 2011 budget