Set Precision for Summation Options - SuperWEB2
By default, SuperWEB2 displays values in tables as whole numbers (0 decimal places).
The display precision is determined by the value of the dataprecision
parameter in the CubeCatalog.xml configuration file. By default that parameter is set to 0, although you can change it if necessary. Changing this parameter will change the number of decimal places used globally throughout SuperWEB2.
From version 8.0.4.4 onwards, it is also possible to override the display precision for individual summation options.
For example, for the sample Retail Banking database you might want to display values for the Mean of Customer Profit to 2 decimal places, while continuing to show the other summation options with 0 decimal places.
Default Behaviour (Mean of Customer Profit and count of the Customers table displayed with 0 decimal places): | Precision Overriden (Mean of Customer Profit displayed with 2 decimal places; count of the Customers table continues to display with 0 decimal places): |
The ability to set precision for individual summation options was added in version 8.0.4.4. It is not available in SuperSTAR Release 8.0 GA (although in earlier versions you can still set the global precision for all tables by changing the dataprecision
setting in CubeCatalog.xml).
Step 1 - Set Precision in SuperADMIN
To set the precision for an individual summation option, you need to configure the displayoptions
in SuperADMIN:
- Start SuperADMIN.
- Log in as an administrator user.
Use the
displayoptions
command to set the display precision for your chosen summation option:TEXTdisplayoptions <database> <summation> set|clear numberOfDecimalPlaces <value>
Where:
<database>
is the database ID.<summation>
is the summation option to set the precision of.<value>
is the number of decimal places you want to show for this summation option.
For example, to set the display precision to two decimal places for the Customer Profit summation option in the Retail Banking database (id: bank), use the following command:
TEXT> displayoptions bank "Customer Profit" set numberOfDecimalPlaces 2 Customer Profit: numberOfDecimalPlaces: 2
Repeat for any other summation options that you want to change.
The precision settings defined in SuperADMIN only apply to SuperWEB2. They are not recognised by SuperCROSS or SuperVIEW.
Any changes you make to the displayoptions
setting in SuperADMIN will not be applied immediately to any users who are currently logged in. The changes will apply when the users log out and log back in to SuperWEB2.
Step 2 - Check the CubeCatalog Settings
You should also check the settings in <tomcat_home>\webapps\webapi\WEB-INF\data\repository\CubeCatalog.xml (see here for more information about finding <tomcat_home> on your system).
Open the file in a text editor, and check the following parameters:
Parameter | Configuration |
---|---|
dataprecision | The number of decimal places used globally in SuperWEB2. This level of precision will be used for all tables unless it has been overridden for the specific summation option in use. |
useSummationPrecisionOnTableView | In SuperWEB2 table view:
From version 8.0.4.5 onwards, this setting defaults to |
useSummationPrecisionOnDownload | In table downloads:
From version 8.0.4.5 onwards, this setting defaults to |
If you make any changes to the settings in CubeCatalog.xml, then you will need to restart Tomcat or the SuperWEB2 service for the changes to take effect.
Precision at the SuperSERVER Level
Please note that precision may also have been applied at the SuperSERVER level (for example using a Data Control module).
If you configure the precision in SuperWEB2 to a greater number of decimal places than are being provided by the server, then although your chosen number of decimal places will display in SuperWEB2, your values will only be correct to the level of provision provided by the server.
For example, if the server is providing values to 1 decimal place, and you set the SuperWEB2 dataprecision
to 2, then SuperWEB2 will display values with 2 decimal places, but they will only be correct to 1 decimal place.