Specifying parameter values to a dashboard
Specifying multiple values for a parameter
When you run a dashboard that contains parameters, the default values of the parameters are applied automatically to the dashboard by default, which can be the default values specified in the parameters' definition or the default values you save for the dashboard when Use User Defined Default Parameter Values in the JDashboard profile is selected.
If you want to change the parameter values, after the dashboard is opened in JDashboard:
The way to specify a parameter value varies according to the type and properties of the parameter. Here are several ways you can use to specify parameter values:
Note: You are recommended not to use blank as the thousands separator in Number-typed parameter values under French locale, otherwise your input will not be correctly recognized because of a JVM bug. For details, see http://bugs.sun.com/view_bug.do;jsessionid=c8cdaf911b20fffffffffd9fc6340b30d670?bug_id=4510618.
Tip: If you want to make the Enter Parameter Values dialog display before running dashboards that contain parameters, you can check the JDashboard profile option Show Enter Parameter Values Dialog.
For a parameter that allows for multiple values (the parameter's Allow Multiple Values property is true), you can specify one or more values to it.
If some added values are not wanted, select them in the Selected Values box and click to remove them; to remove all added values, click
.
By default, when any user runs a dashboard with parameters, the parameter values saved with the dashboard are applied, which means that all users see the same parameter result. However you can customize the default parameter values of a dashboard for your own. To do this, in the Enter Parameter Values dialog specify the parameter values you want as the default values, select the Save as default option, and then click Submit.
However when using the Save Default Parameter Values feature, you need to be aware of the following:
When specifying parameter values for dashboards, you may want to save the specified parameter values for reuse next time. JReport provides two ways of saving. One is users decide when and which parameter values to save, the other is JReport saves each applied or submitted parameter value automatically. When the saved number in either way reaches the maximum, the oldest record will be removed. The number is calculated on a user-dashboard basis. Take a dashboard with two parameters for an example, supposing the maximum number is set to 3. Each user can save at most three groups of parameter values for the dashboard, with each group containing the values of the two parameters.
To switch on the function of saving parameter values, you need to configure the server profile: select Yes to the option Enable Saving Parameter Values, then select in which way to save the values: Manually or Automatically, and specify a maximum number to limit the saved value groups via the Maximum Number of Auto Complete Parameters List option for each user-dashboard pair.
Manually saving parameter values
When you have chosen to manually save parameter values, the Use Saved Values button will be available in the Enter Parameter Values dialog. By clicking this button, you will get the following:
Using automatically saved parameter values
When you have chosen to automatically save parameter values, each time a user submits a group of parameter values to a dashboard, the group is saved by JReport automatically. The next time the same user runs the dashboard, the auto saved parameter values will be available in the parameters' value lists for selection in the Enter Parameter Values dialog.
You can access the configuration panel of a library component to specify its parameter values. To do this, click on the component title bar and select Edit Setting from the drop-down menu to display the configuration panel. Specify the values in the panel and click OK to apply them to the library component. The Cancel button is used to close the configuration panel.
The "Show the panel by default" option in the panel is used to control whether to show the configuration panel before rendering the library component each time the dashboard runs or is refreshed. For example, if a library component uses parameters, and you would like to specify parameter values before loading the component rather than first loading the component and then changing the parameter values so as to run the component the second time to get the desired result, you can check this option to have the panel displayed before rendering by default.
A dashboard can have multiple library components and all these components are independent from each other. When several components contain parameters which have the values and come from the same catalog, by default these parameters are regarded as separate parameters each connected to its own component. To submit a value to all these components, you need to submit the value for each of the parameters. However by sharing the parameters, you only need to provide a value for one of them as a representative of all the parameters. The parameters do not need to have the same name but do need to share the same values. You only need to submit values to this parameter once and all the components will use the specified values. By sharing parameters, the same parameters will only send the query once to the database, thus the dashboard performance can be improved.
What parameters can be shared
JDashboard supports sharing two types of parameters coming from different library components in the same dashboard:
For example, a parameter @Category comes from the catalog A.cat, and in a dashboard it is used by two library components LC1 and LC2. So in the dashboard they are two parameters marked as LC1.@Category and LC2.@Category. These two parameters are the same parameter and only require the user to specify one value for them.
For example, there are two parameters @Province and @State which have the same parameter type and value type so they can both have the same meaning. For the cascading parameters like (@Country, @Province) and (@Country, @State) which have the same hierarchies and each hierarchy has the same parameter value type so they also can have the same meaning.
The rule for merging the values of the shared parameters
Within a sharing group, if all the shared parameters allow for type-in values, the merged value result is the union of the values of all the parameters. The merged value names are distinct. However if any of the shared parameters does not allow type-in values, the merged value result is the intersection of all the values.
Unexpected results after sharing parameters
Sometimes there may be unexpected parameter sharing that does no harm to the report system and report data, but the dashboard result may be unexpected.
After sharing parameters, their values will be merged. The merged values result may be bigger or smaller than the value lists of some of the shared parameters, which might lead to some values cannot be supported by some components or some values can never be available to some components.
For example in the case of @Province and @State, if the parameters are shared then the list of values will be all states and provinces. However, one library component may use a query that limits the data to US only, thus if the user selects a Canadian province from the list the component will have no data.
How to share parameters
To add another parameter into a sharing group, select any parameter in the group while holding Ctrl and then select the parameter, then click Share.
To remove parameters from a sharing group, select the parameters and then click Cancel Share which appears in the place of the Share button.