Usar rv_measure_calc para editar os valores de cenário

Para editar os valores do cenário em uma planilha usando rv_measure_calc, a planilha deve fazer parte de uma combinação de ciclo-módulo com o tipo de Origem do relatório definido para Incorporado.
Nota: Uma célula é modificada em uma planilha com base nas regras especificadas:

Usar a medida de difusão para editar valores de cenário

A medida atual também deve ser definida no parâmetro rv_measure_calc. As propriedades são:

  • 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)

Os valores são difundidos usando o comando SplashValue do Infor BI OLAP. Os parâmetros aplicáveis:

  • AllocationMode (0 - 5)
  • TargetCell (tupla)
  • SourceCell (tupla)
  • Valor (expressão numérica)
  • Arredondamento (expressão lógica)
  • DecimalPlaces (expressão numérica)
  • ErrorCorrection (expressão lógica)

Defina a SourceCell ("difundir como medida"):

  • Se o valor de "measure_spread" não estiver especificado, a medida definida na propriedade ifemptyspreadmeasure_spread_measure será utilizada.
    • Com base nesse valor, as propriedades definidas em ifemptyspreadmeasure para multiply, divide, target, spread_rounding e error_correction também são utilizadas.
    • Se o valor ifemptyspreadmeasure_spread_measure também não estiver definido, a medida de difusão padrão em rv_measure_spreadlike será usada.
    • Se o valor para rv_measure_spreadlike também não tiver sido especificado, não será possível editar os valores do cenário.
  • O parâmetro SplashValue.SourceCell deve ser definido como if(not isnull(measure_spread), measure_spread, if(not isnull(ifemptyspreadmeasure_spread_measure), ifemptyspreadmeasure_spread_measure, rv_measure_spreadlike)).

Ao editar um valor existente (valor original <> 0):

  • O valor atualizado a partir da célula modificada será usado se a medida spread_type estiver definida para "valor".
  • A diferença entre o valor original e o atualizado é usada se a medida spread_type estiver definida para "delta".
  • O valor é multiplicado e dividido para calcular a medida weighted_difference usando os valores especificados para as medidas weightmeasure_multiply e weightmeasure_divide, respectivamente.
    Nota: 
    • Se o valor de weightmeasure_multiply ou weightmeasure_divide não estiver definido, será preciso calculá-lo usando o valor existente.
    • Se o valor da medida measure_spread não estiver definido, o valor padrão rv_measure_spreadlike = like_measure será usado.

    Se esses valores não tiverem sido definidos, os dados modificados não poderão ser salvos.

  • O valor é atualizado usando &LIKEFULL weighted_difference like_measure.

Quando você especifica um novo valor (valor original = 0):

  • O valor é multiplicado e dividido para calcular a medida weighted_difference usando os valores especificados para as medidas weightmeasure_multiply e weightmeasure_divide, respectivamente.
    Nota: 
    • Se o valor de weightmeasure_multiply ou weightmeasure_divide não estiver definido, será preciso calculá-lo usando o valor existente.
    • Se o valor da medida measure_spread não estiver definido, o valor padrão rv_measure_spreadlike = like_measure será usado.

    Se esses valores não tiverem sido definidos, os dados modificados não poderão ser salvos.

  • O valor é atualizado usando a medida #LIKEFULL weighted_difference like_measure.
  • Se o valor measure_spread for nulo, a medida definida na propriedade ifemptyspreadmeasure_spread_measure será usada. Essa medida também usa as propriedades definidas em ifemptyspreadmeasure para multiplicar e dividir os valores para o alvo. A definição de medida de difusão quando um valor não está especificado é like_measure = nvl(measure_spread, nvl(ifemptyspreadmeasure_spread_measure, v_measure_spreadlike)). Assim, se o valor dessa medida também for nulo, a medida de difusão padrão em rv_measure_spreadlike será usada. Se essa medida não estiver definida, a edição falhará porque os critérios de difusão não estão especificados.

Para determinar o arredondamento dos valores:

  • Se spread_rounding for definido como um número inteiro positivo, o comando SplashValue incluirá o arredondamento:
    • Parâmetro SplashValue.Rounding: 1=1 (true)
    • Parâmetro SplashValue.DecimalPlaces: spread_rounding
  • Se spread_rounding for nulo, negativo ou não estiver definido: o arredondamento será 0=1.
    • Parâmetro SplashValue.Rounding: 0=1 (false)
    • Parâmetro SplashValue.DecimalPlaces: indefinido
    Nota: Se measure_spread for nula, o parâmetro ifemptyspreadmeasure_spread_rounding será usado.
  • Exemplo de resultados de difusão como valores inteiros (como carros 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 correção de erro:

  • Se spread_error_correction for TRUE ou não estiver definido, o comando SplashValue incluirá correção de erro, ou seja, um elemento base poderá receber um valor arredondado para garantir que a soma de todos os resultados da difusão seja igual ao valor distribuído (agregado). O parâmetro SplashValue.ErrorCorrection é definido como 1=1 (true).
  • Se spread_error_correction for FALSE, o comando SplashValue não incluirá a correção de erro. O parâmetro SplashValue.ErrorCorrection é definido como 0=1 (false).
Nota: Se measure_spread for nula, o parâmetro ifemptyspreadmeasure_spread_error_correction será usado.

As células que são editadas, mas não enviadas ao OLAP (usando a opção Recalcular) são marcadas com um plano de fundo azul e um sinalizador de edição. Quando essas edições são atualizadas usando a opção Recalcular, as células editadas são revertidas para o formato padrão.

Porém, se uma regra de cálculo estiver definida, ou seja, uma medida de destino não calculada não estiver definida na medida rv_measure_calc_ para a célula, as edições serão descartadas pelo OLAP quando você recalcular os dados e o valor original da célula será mantido.