Rather than generate multiple reports that share an identical layout and mostly the same data, it may be easier to maintain one report with parameterized output that enables the person viewing the report to change the structure or values of some of the data.
Simple parameterization involves changing data values. For instance, you might give readers an option to filter by the values in a drop-down list. This can include values stored in a particular column; for instance, you could choose to parameterize a column that contains product names, in which case the report reader would be able to change which product he wanted to see data for. Simple parameters are added after the data structure has been defined through a query.
Advanced parameters give readers the power to change the structure of the data. For instance, you might offer an option to select among multiple columns in a given table. These parameters must be expressed as formulas, and are executed along with the query.