Use the rv_measure_calc to edit scenario values
rv_measure_calc
, the worksheet must be part of a cycle-module combination with the Report Source type set to Embedded.
The current measure must also be defined in the rv_measure_calc
parameter. The properties are:
- targetmeassure
- weightmeasure_multiply
- weightmeasure_divide
- measure_spread
- spread_type
- spread_rounding
- spread_error_correction
- ifemptymeasurespread_measure_spread (& ifemptymeasurespread_targetmeasure ifemptymeasurespread_weightmeasure_multiply, ifemptymeasurespread_weightmeasure_divide, Ifemptymeasurespread_spread_rounding, Ifemptymeasurespread_spread_error_correction)
The values are spread using the Infor BI OLAP SplashValue command. The applicable parameters:
- AllocationMode (0 - 5)
- TargetCell (tuple)
- SourceCell (tuple)
- Value (numeric expression)
- Rounding (logical expression)
- DecimalPlaces (numeric expression)
- ErrorCorrection (logical expression)
Set the SourceCell ("spread like measure"):
- If the value of “measure_spread” is not specified, the measure defined in the ifemptyspreadmeasure_spread_measure property is used.
- Based on this value, the properties defined in ifemptyspreadmeasure for multiply, divide, target, spread_rounding, and error_correction are also used.
- If the ifemptyspreadmeasure_spread_measure value is also not defined, the default spread measure in rv_measure_spreadlike is used.
- If the value for rv_measure_spreadlike is also not specified, you cannot edit the scenario values.
- The SplashValue.SourceCell parameter must be set to if(not isnull(measure_spread), measure_spread, if(not isnull(ifemptyspreadmeasure_spread_measure), ifemptyspreadmeasure_spread_measure, rv_measure_spreadlike)).
When you edit an existing value (original value <> 0):
- The updated value from the modified cell is used, if the
spread_type
measure is set to "value". - The difference between the original and updated value is used, if the
spread_type
measure is set to "delta". - The value is multiplied and divided, to calculate the
weighted_difference
measure, using the values specified for theweightmeasure_multiply
andweightmeasure_divide
measures, respectively.Note:- If the value of either weightmeasure_multiply or weightmeasure_divide are not defined, you must calculate the value using the existing value.
- If the value of
measure_spread
measure is not defined, the defaultrv_measure_spreadlike
=like_measure
is used.
If these values are not defined, the modified data cannot be saved.
- The value is updated using the
&LIKEFULL weighted_difference like_measure
.
When you specify a new value (original value = 0):
- The value is multiplied and divided, to calculate the
weighted_difference
measure, using the values specified for theweightmeasure_multiply
andweightmeasure_divide
measures, respectively.Note:- If the value of either weightmeasure_multiply or weightmeasure_divide are not defined, you must calculate the value using the existing value.
- If the value of
measure_spread
measure is not defined, the defaultrv_measure_spreadlike
=like_measure
is used.
If these values are not defined, the modified data cannot be saved.
- The value is updated using the
#LIKEFULL weighted_difference like_measure
measure. - If the
measure_spread
value is null, the measure defined in theifemptyspreadmeasure_spread_measure
property is used. This measure also uses the properties defined inifemptyspreadmeasure
to multiply and divide the values for the target. The spread measure definition when a value is not specified islike_measure = nvl(measure_spread, nvl(ifemptyspreadmeasure_spread_measure, v_measure_spreadlike))
. Consequently, if the value of this measure is also null, the default spread measure inrv_measure_spreadlike
is used. If this measure is not defined, the edit fails because the spreading criteria is not specified.
To determine the rounding of values:
- If
spread_rounding
is defined as a positive integer, the SplashValue command inlcudes the rounding:- SplashValue.Rounding parameter: 1=1 (true)
- SplashValue.DecimalPlaces parameter: spread_rounding
- If
spread_rounding
is null, negative, or is not defined: the Rounding is 0=1.- SplashValue.Rounding parameter: 0=1 (false)
- SplashValue.DecimalPlaces parameter: undefined
Note: If the measure_spread is null, ifemptyspreadmeasure_spread_rounding parameter is used. - Example of Spread results as integer values (such as forecasted cars):
<Table> <Row name="[SOP_FREV]"> <Property name="targetmeasure" value="[SOP_FMI]" /><Property name="weightmeasure_divide" value="[SOP_FSELL]" /> <Property name="measure_spread" value="[SOP_FUNITS]" /><Property name="spread_type" value="value" /> <Property name="spread_rounding" value="0" /></Row> </Table>
Set Error correction:
- If spread_error_correction is TRUE or not defined, the SplashValue command includes error correction, that is, one base element can receive a rounded value to ensure the sum of all spread results equals the (aggregate) splashed value. The SplashValue.ErrorCorrection parameter is set to 1=1 (true).
- If spread_error_correction is FALSE, the SplashValue command does not include error correction. The SplashValue.ErrorCorrection parameter is set to 0=1 (false).
The cells that are edited but not submitted to OLAP (using the Recalculate option) are marked with a Blue background and an edit flag. When these edits are updated using the Recalculate option, these edited cells are reverted to the standard format.
However, if a calculation rule is defined, that is, a non-calculated target measure is not defined in the rv_measure_calc measure for the cell; the edits are discarded by OLAP when you recalculate the data and the original value of the cell is retained.