I don't think you need dynamic columns. From your descriptions, the columns are fixed i.e. they are SalesCountry, CurrentMonthSales, and PriorMonthsSales. What you need is a dynamic report i.e. data is provided to the report depending on some input criteria. Assuming you are using SQL Server as the database, you need to create a stored procedure that takes a parameter for the current period, then it returns data to your report using those 3 columns. So, the data is dynamic but the columns are fixed. Since you don't specify what report engine or database you're using, I can't be more specific.