Dynamic reports
You can add varying degrees of dynamism to reports. For example, you can simply add a combo box from which users can select a slice dimension. Or, you can create a fully dynamic report in which users can select which database alias, cube and dimensions to report on and to select, for example, by drag & drop, which dimensions to use on the column and row axes.
Such fully dynamic reports are database-independent and are unaffected by changes to the structure of a data cube.
This chapter describes various methods and techniques for adding dynamism to reports.
Good practice
Creating dynamic reports involves using report and global variables. Use report variables where possible:
- It is not easy to identify to which reports global variables relate. Using report variables keeps the Global Variables folder free of variables of which the purpose is not clear.
- Report snapshots store only report variables. If the report uses global variables, the snapshot may not display the data you expect.
- In Application Studio WebServices you can open the same report in separate tabs and update each instance independently. You might, for example, store a date in a global variable. If you change its value in one instance of the report, the second instance of the report is not updated. If you then write back a value in the second instance, it will not be written back as expected.
If you use Select Element actions in a report, it is recommended that you use "helper" variables. Each time a variable used in a select element action is changed, the report is recalculated. A helper variable is a report variable that acts as a "stepping stone" between variables used in a report. It takes values from one variable and passes them on to another, but without causing a recalculation. Helper variables are not necessary if you use combo boxes.