Uso de rv_measure_calc para editar los valores de escenario

Para editar los valores de escenario en una hoja de trabajo mediante rv_measure_calc, la hoja de trabajo debe ser parte de una combinación de ciclo y módulo con el tipo Origen de informe establecido en Incrustado.
Nota: Se modifica una celda en una hoja de trabajo según las reglas especificadas:

Uso de la medida de propagación para editar los valores de un escenario

La medida actual también se debe definir en el parámetro rv_measure_calc. Las propiedades son:

  • targetmeasure
  • weightmeasure_multiply
  • weightmeasure_divide
  • measure_spread
  • spread_type
  • spread_rounding
  • spread_error_correction
  • ifemptymeasurespread_measure_spread (e ifemptymeasurespread_targetmeasure ifemptymeasurespread_weightmeasure_multiply, ifemptymeasurespread_weightmeasure_divide, Ifemptymeasurespread_spread_rounding, Ifemptymeasurespread_spread_error_correction)

Los valores se propagan con el comando SplashValue de Infor BI OLAP. Los parámetros aplicables:

  • AllocationMode (0 - 5)
  • TargetCell (tupla)
  • SourceCell (tupla)
  • Value (expresión numérica)
  • Rounding (expresión lógica)
  • DecimalPlaces (expresión numérica)
  • ErrorCorrection (expresión lógica)

Definir SourceCell ("medidas propagar como"):

  • Si no se especifica el valor de "measure_spread", se usa la medida definida en la propiedad ifemptyspreadmeasure_spread_measure.
    • En función de este valor, también se utilizan las propiedades definidas en ifemptyspreadmeasure para multiply, divide, target, spread_rounding y error_correction.
    • Si tampoco se define el valor de ifemptyspreadmeasure_spread_measure, se usa la medida de propagación predeterminada de rv_measure_spreadlike.
    • Si tampoco se especifica el valor de rv_measure_spreadlike, no se pueden editar los valores de escenario.
  • El parámetro SplashValue.SourceCell se debe definir como if(not isnull(measure_spread), measure_spread, if(not isnull(ifemptyspreadmeasure_spread_measure), ifemptyspreadmeasure_spread_measure, rv_measure_spreadlike)).

Cuando edita un valor existente (valor original <>0):

  • Se utiliza el valor actualizado de la celda modificada si la medida spread_type se ha establecido en "value".
  • Se utiliza la diferencia entre el valor original y el actualizado si la medida spread_type se ha establecido en "delta".
  • El valor se multiplica y se divide para calcular la medida weighted_difference, utilizando los valores especificados para las medidas weightmeasure_multiply y weightmeasure_divide respectivamente.
    Nota: 
    • Si los valores de weightmeasure_multiply y de weightmeasure_divide no están definidos, debe calcular el valor utilizando el valor existente.
    • Si el valor de measure_spread no está definido, se utiliza el valor predeterminado rv_measure_spreadlike = like_measure.

    Si estos valores no están definidos, los datos modificados no se pueden guardar.

  • El valor se actualiza mediante &LIKEFULL weighted_difference like_measure.

Cuando especifica un valor nuevo (valor original = 0):

  • El valor se multiplica y se divide para calcular la medida weighted_difference, utilizando los valores especificados para las medidas weightmeasure_multiply y weightmeasure_divide respectivamente.
    Nota: 
    • Si los valores de weightmeasure_multiply y de weightmeasure_divide no están definidos, debe calcular el valor utilizando el valor existente.
    • Si el valor de measure_spread no está definido, se utiliza el valor predeterminado rv_measure_spreadlike = like_measure.

    Si estos valores no están definidos, los datos modificados no se pueden guardar.

  • El valor se actualiza mediante la medida &LIKEFULL weighted_difference like_measure.
  • Si el valor de measure_spread es nulo, se usa la medida definida en la propiedad ifemptyspreadmeasure_spread_measure. Esta medida también utiliza las propiedades definidas en ifemptyspreadmeasure para multiplicar y dividir los valores para el destino. La definición de la medida de propagación cuando no se especifica un valor es like_measure = nvl(measure_spread, nvl(ifemptyspreadmeasure_spread_measure, v_measure_spreadlike)). Por lo tanto, si el valor de esta medida es también nulo, se usa la medida de propagación predeterminada de rv_measure_spreadlike. Si no se define esta medida, se produce un error en la edición porque no se especifican los criterios de propagación.

Para determinar el redondeo de los valores:

  • Si spread_rounding se define como un entero positivo, el comando SplashValue incluye el redondeo:
    • Parámetro SplashValue.Rounding: 1 = 1 (true)
    • Parámetro SplashValue.DecimalPlaces: spread_rounding
  • Si spread_rounding es nulo, negativo o no se define: el redondeo es 0=1.
    • Parámetro SplashValue.Rounding: 0 = 1 (false)
    • Parámetro SplashValue.DecimalPlaces: sin definir
    Nota: Si measure_spread es nulo, se usa el parámetro ifemptyspreadmeasure_spread_rounding.
  • Ejemplo de resultados de propagación como valores enteros (por ejemplo, vehículos previstos):
    <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>

Definir la corrección de errores:

  • Si spread_error_correction es TRUE o no se define, el comando SplashValue incluye corrección de errores, es decir, un elemento base puede recibir un valor redondeado para garantizar que el total de todos los resultados de propagación es igual al valor propagado (agregado). El parámetro SplashValue.ErrorCorrection se define como 1 = 1 (true).
  • Si spread_error_correction es FALSE, el comando SplashValue no incluye corrección de errores. El parámetro SplashValue.ErrorCorrection se define como 0 = 1 (false).
Nota: Si measure_spread es nulo, se usa el parámetro ifemptyspreadmeasure_spread_error_correction.

Las celdas que se editan pero no se envían a OLAP (con la opción Volver a calcular) se marcan con un fondo azul y una marca de edición. Cuando estas ediciones se actualizan con la opción Volver a calcular, estas celdas editadas adquieren de nuevo el formato estándar.

Sin embargo, si se define una regla de cálculo, es decir, no hay una medida de destino no calculada definida en la medida rv_measure_calc para la celda, OLAP descarta las ediciones cuando se vuelven a calcular los datos y se conserva el valor original de la celda.