-
Notifications
You must be signed in to change notification settings - Fork 6
Empty Equivalent Values
CrissCross is designed to work well with SSRS reports that have lots of parameters - the idea is it will initially show the user a minimal set of parameters, and then they can choose to add more to the page via the filter drop-down.
The 'minimal set of parameters' means just show:
- the parameters that the user has to enter for the report to work
- parameters that have a non-obvious default value so that the user can see what its been set to
Generally, CrissCross tries to work this minimal set as follows:
- Parameters that allow null and don't have a value will not be displayed initially.
- Parameters that don't allow null, but also don't have a default value specified, will need to be displayed to the user
- Parameters that have a value specified already will need to be shown, unless that value is 'equivalent to empty'
- Parameters that are set to 'AlwaysShow' in ExtraConfig will always get shown
- Parameters that are hidden (PromptUser is false in SSRS, or the Prompt text is empty) will never get shown
The bit CrissCross may need help figuring out is whether a parameter with a value set is 'equivalent to empty'. You do this by defining EmptyEquivalentValues in ExtraConfig.
For example, imagine the following picklist data:
Value Label
-1 All
2 Red
3 Green
4 Blue
... and imagine that the SQL for the report has been set up so that it will ignore the parameter if the 'All' value is chosen. In CrissCross, we would say that '-1' is the Empty Equivalent Value for that parameter.
In general:
If a parameter has values and any of those values match an 'Empty Equivalent Value' then the parameter is considered to be empty by CrissCross.
Note that this is designed to work for both default values and also when users re-run previous runs by choosing them from the Report History. Either way CrissCross will only show the 'relevant' parameters to the user providing that the Empty Equivalent Values have been set up correctly.
See ExtraConfig for details of specifying the values.