Skip to main content
Skip table of contents

Scaling Factor and Precision

You can use the supplied scaling plugin, outputscaling to set a scale value to be applied to each cell in the table, or to apply rounding to values.

The scale factor will be applied to the cell values displayed in the client, as well as any downloaded data (including Excel, CSV and SDMX output).

Module Properties

The outputscaling plugin has a number of properties that you can configure.

PropertyDescription
scale_factor

The scaling factor to apply. Every cell value in the table will be divided by 10^n (where n is the scale_factor).

For example, if you set the scale_factor to 2 then each cell value in the table will be divided by 100 (10^2 = 100).

The default value of scale factor is 0 (i.e. no scaling applied to the table).

measure_scale_factor
The default scaling factor for measures. If this is not explicitly set, measures will use whatever is set for the  scale_factor  property. This can also be overridden for specific measures in the measures_scale_file CSV file.
precision

The rounding to apply to count values:

  • Setting this to a positive value rounds to the specified number of decimal places (for example setting precision to 2 rounds all values to 2dp).
  • Setting this to a negative value applies rounding to the left of the decimal point (for example, setting precision to -2 rounds all values to multiples of 100).
measure_precision
The rounding to apply to measures. This can be set to either a positive or negative integer value, and works in the same way as the precision setting.
PropagateZeroes

Whether to propagate 0 rounded counts to measures:

Value
Description
Same

If a count is rounded to 0, the measures will also be rounded to 0.
None
(or property not set)(Default). Rounding of counts to 0 will not be propagated to measures.
SuppressPropagatedZeroes

Can be used in conjunction with the PropagateZeroes setting to suppress fields where zero propagation occurs.

If you set this to true then any field where a count has been rounded to 0, and this has been propagated to the measures will have its value suppressed. If you are already using the suppression module to suppress all zeros then you can safely omit this property.

OptionalAnnotations

This property can be used to turn off the default annotation settings for measures:

Value
Description
true

Turn off the default annotations for measures. If you do not set this to true then any measure without an annotation specifically configured for it will be annotated with an annotation similar to (x1).
false
(or property not set)(Default). Show default annotation for any measures that do not have annotations configured.
annotation_symbol

A string value used to annotate the scaled results. For example, (x100).

Make sure the symbol you specify does not clash with any annotation symbols for other Data Control modules. For example, the RSE annotation module uses the asterisk symbol for annotation.

measure_annotation_symbol
The default annotation symbol for measures. If not explicitly set, measures will use whatever is set for the annotation_symbol. This can also be overridden for specific measures in the measures_scale_file CSV file.
annotation_description
A string value used for the annotation description. For example, Hundreds (values are scaled).
measure_annotation_description
The default annotation description for measures.  If not explicitly set, measures will use whatever is set for the annotation_description. This can also be overridden for specific measures in the measures_scale_file CSV file.
log_file

The name of a file to log information from the scaling plugin to.

This is optional. If you do not set the property, then the plugin will use a default value: outputscaling.log.txt, and save the log file to the SuperSERVER program data logs directory (if you installed to the default location the file will be saved as C:\ProgramData\STR\SuperSERVER SA\logs\outputscaling.log.txt).

If you choose to specify a log file name, then you can either:

  • Specify a relative path. The log file will be saved relative to the directory where the plugin is located (C:\Program Files\STR\SuperSERVER SA by default).
  • Specify an absolute path. You must escape any Windows style directory separators (\) in the path with a backslash.

For example:

CODE
> method scaling output_scaling addproperty log_file "C:\\logs\\scaling_log.txt"
The scaling plugin does not write any output to the log file by default. See below for details about how to configure the log output.
measures_scale_file

The name of a configuration file for per measure scaling. This is optional.

By default the scale_factor setting will be applied to record counts as well as all measures, but you can use this setting to apply a different scaling factor depending on the measure in use in the table.

The configuration file must be in Comma Separated Values (CSV) format, with the following fields (the file must not include any header row):

CODE
Measure ID, Stats function, Scale factor, Annotation Symbol, Annotation Desc, Precision
How do I find out the measure ID?

Measure ID is the internal field ID of the measure. You can find a field's ID by typing cat <database_id> <field> in SuperADMIN. For example:

CODE
> cat bank "Customer Profit"
[ Summation Field : 'Customer Profit' ]
    [ ID : 'SXV4__Retail_Banking__F_Customer__Cust_Profit_FLD' ]

This ID takes the following format: SXV4__<database>__<fact_table>__<field_ID>_FLD. As you can see, the components of the field ID are separated by a double underscore character (__). You need the <field_id> part for the scaling file. In the above example, this is Cust_Profit.

These IDs are also visible in SuperCROSS. Go to the Define Recode window and click Use Codes.

The function name can be one of the following: SUM, MEAN, MEDIAN

For example:

CODE
Cust_Profit,SUM,10,"+","(X10)",-2
Acc_Profit,SUM,100,"&","(X100)",-2

You can either specify the filename using an absolute path or a path relative to the location of the plugin. You must escape any Windows style directory separators (\) in the path with a backslash.

Apply the Plugin

  1. Login to SuperADMIN and create a new method:

    CODE
    > method addmethod scaling mandatory scaling
  2. Add the Data Control plugin to the method:

    CODE
    > method scaling adddcplugin output_scaling outputscaling 1
  3. Set the plugin properties:

    CODE
    > method scaling output_scaling addproperty scale_factor "2"
    > method scaling output_scaling addproperty precision "0"
    > method scaling output_scaling addproperty measure_precision "-3"
    > method scaling output_scaling addproperty PropagateZeroes "Same"
    > method scaling output_scaling addproperty OptionalAnnotations "true"
    > method scaling output_scaling addproperty annotation_symbol "(x100)"
    > method scaling output_scaling addproperty annotation_description "Hundreds (values are scaled)"
    > method scaling output_scaling addproperty log_file "output_scaling_logfile.txt"
    > method scaling output_scaling addproperty measures_scale_file "C:\\config\\scaling_file.csv"
  4. Assign the method to a dataset (in this example we are assigning the method to a dataset with the ID bank):

    CODE
    > cat bank addmethod scaling

    You can review the method details using the command cat <dataset_id> methods details <method_id>:

    CODE
    > cat bank methods details scaling
    [ Method : scaling (id:scaling) (type:mandatory) ]
        [ Common ]
        [ DCPlugin : outputscaling (id:output_scaling) (priority:1) ]
            [ scale_factor : 2 ]
            [ precision : 0 ]
            [ measure_precision : -3 ]
            [ PropagateZeroes : Same ]
            [ OptionalAnnotations : true ]
            [ annotation_symbol : (x100) ]
            [ annotation_description : Hundreds (values are scaled) ]
            [ log_file : output_scaling_logfile.txt ]
            [ measures_scale_file : C:\\config\\scaling_file.csv ]

Configure Log Output

The Data Control plugins do not log any output by default. To activate log output:

  1. Open C:\ProgramData\STR\SuperSERVER SA\log4j.scsa.xml in a text editor.
  2. Locate the following section:

    XML
          <logger name="AUDIT_DataServer.Dcapi" additivity="false">
              <level value ="DEBUG" />
              <appender-ref ref="MainLog" />
              <appender-ref ref="CONSOLE"/>       
          </logger>
  3. By default, the above section is commented out. Uncomment the section.

    XML
    -->
          <logger name="AUDIT_DataServer.Dcapi" additivity="false">
              <level value ="DEBUG" />
              <appender-ref ref="MainLog" />
              <appender-ref ref="CONSOLE"/>       
          </logger>
    <!--
  4. Restart SuperSERVER.

The plugin logs the configuration parameters and the input and output value for each value in the table.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.