Utiliser la mesure rv_measure_calc pour modifier les valeurs du scénario

Pour modifier les valeurs du scénario dans une feuille de calcul, en utilisant le paramètre rv_measure_calc, la feuille de calcul doit faire partie d'une combinaison cycle-module avec le type de Source d'état défini sur Intégré.
Remarque : Une cellule est modifiée dans une feuille de calcul d'après les règles indiquées :

Utiliser la mesure de diffusion pour modifier les valeurs du scénario

La mesure actuelle doit également être définie dans le paramètre rv_measure_calc. Les propriétés sont :

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

Les valeurs sont diffusées à l'aide de la commande Infor BI OLAP SplashValue. Paramètres applicables :

  • AllocationMode (0 - 5)
  • TargetCell (tuple)
  • SourceCell (tuple)
  • Valeur (expression numérique)
  • Arrondi (expression logique)
  • DecimalPlaces (expression numérique)
  • ErrorCorrection (expression logique)

Définissez SourceCell (« diffuser comme mesure ») :

  • Si la valeur de « measure_spread » n'est pas définie, la mesure définie par défaut dans la propriété ifemptyspreadmeasure_spread_measure est utilisée.
    • En fonction de cette valeur, les propriétés définies dans ifemptyspreadmeasure pour multiplier, diviser, cible, spread_rounding et error_correction sont également utilisées.
    • Si la valeur de ifemptyspreadmeasure_spread_measure est également non définie, la mesure de diffusion par défaut dans rv_measure_spreadlike est utilisée.
    • Si la valeur pour rv_measure_spreadlike est également non spécifiée, vous ne pouvez pas modifier les valeurs du scénario.
  • Le paramètre SplashValue.SourceCell doit être défini sur if(not isnull(measure_spread), measure_spread, if(not isnull(ifemptyspreadmeasure_spread_measure), ifemptyspreadmeasure_spread_measure, rv_measure_spreadlike)).

Lorsque vous modifiez une valeur existante (valeur d'origine <> 0) :

  • La valeur mise à jour depuis la cellule modifiée est utilisée, si la mesure spread_type est définie sur "valeur".
  • La différence entre la valeur originale et la valeur mise à jour est utilisée, si la mesure spread_type est définie sur "detla".
  • La valeur est multipliée et divisée pour calculer la mesure weighted_difference, à l'aide des valeurs spécifiées pour les mesures weightmeasure_multiply et weightmeasure_divide, respectivement.
    Remarque : 
    • Si la valeur de weightmeasure_multiply ou de weightmeasure_divide n'est pas définie, vous devez calculer la valeur à partir de la valeur existante.
    • Si la valeur de la mesure measure_spread n'est pas définie, la valeur par défaut rv_measure_spreadlike = like_measure est utilisée.

    Si ces valeurs ne sont pas définies, les données modifiées ne peuvent pas être enregistrées.

  • La valeur est mise à jour à l'aide de la mesure &LIKEFULL weighted_difference like_measure.

Lorsque vous spécifiez une nouvelle valeur (valeur d'origine = 0) :

  • La valeur est multipliée et divisée pour calculer la mesure weighted_difference, à l'aide des valeurs spécifiées pour les mesures weightmeasure_multiply et weightmeasure_divide, respectivement.
    Remarque : 
    • Si la valeur de weightmeasure_multiply ou de weightmeasure_divide n'est pas définie, vous devez calculer la valeur à partir de la valeur existante.
    • Si la valeur de la mesure measure_spread n'est pas définie, la valeur par défaut rv_measure_spreadlike = like_measure est utilisée.

    Si ces valeurs ne sont pas définies, les données modifiées ne peuvent pas être enregistrées.

  • La valeur est mise à jour à l'aide de la mesure #LIKEFULL weighted_difference like_measure.
  • Si la valeur de measure_spread est nulle, la mesure définie dans la propriété ifemptyspreadmeasure_spread_measure est utilisée. Cette mesure utilise également les propriétés définies dans ifemptyspreadmeasure pour multiplier et diviser les valeurs pour la cible. La définition de la mesure de diffusion lorsqu'une valeur n'est pas spécifiée est like_measure = nvl(measure_spread, nvl(ifemptyspreadmeasure_spread_measure, v_measure_spreadlike)). Par conséquent, si la valeur de cette mesure est également nulle, la mesure de diffusion par défaut dans rv_measure_spreadlike est utilisée. Si cette mesure n'est pas définie, la modification échoue car le critère de diffusion n'est pas spécifié.

Pour déterminer l'arrondissement des valeurs :

  • Si spread_rounding est défini comme nombre entier positif, la commande SplashValue inclut l'arrondissement :
    • Paramètre SplashValue.Rounding : 1=1 (vrai)
    • SplashValue.DecimalPlaces parameter: spread_rounding
  • Si spread_rounding est nul, négatif, ou non défini : l'arrondissement est 0=1.
    • Paramètre SplashValue.Rounding : 0=1 (faux)
    • SplashValue.DecimalPlaces parameter: undefined
    Remarque : Si measure_spread est nul, le paramètre ifemptyspreadmeasure_spread_rounding est utilisé.
  • Des exemples de résultats de diffusion comme valeurs entières (comme voitures prévues) :
    <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>

Définir la correction de l'erreur :

  • Si la valeur de spread_error_correction est TRUE ou non définie, la commande SplashValue inclut la correction de l'erreur, c'est-à-dire, un élément de base peut recevoir une valeur arrondie pour assurer que la somme de tous les résultats de diffusion soit égale à la valeur splash (agrégée). Le paramètre SplashValue.ErrorCorrection est défini sur 1=1 (vrai).
  • Si spread_error_correction est FALSE, la commande SplashValue n'inclut pas la correction de l'erreur. Le paramètre SplashValue.ErrorCorrection est défini sur 0=1 (faux).
Remarque : Si measure_spread est nul, le paramètre ifemptyspreadmeasure_spread_error_correction est utilisé.

Les cellules modifiées mais non publiées sur OLAP (avec l'option Recalculer) sont marquées avec un fond bleu et un indicateur de modifications. Lorsque ces modifications sont mises à jour avec l'option Recalculer, les cellules modifiées sont remises au format standard.

Toutefois, si une règle de calcul est définie, c'est-à-dire, si une mesure de cible non calculée n'est pas définie dans la mesure rv_measure_calc pour la cellule ; les modifications sont rejetées par OLAP lors du nouveau calcul des données et la valeur d'origine est retenue.