rv_measure_calc zum Bearbeiten von Szenarienwerten verwenden

Um die Szenarienwerte in einem Arbeitsblatt mithilfe von rv_measure_calc zu bearbeiten, muss das Arbeitsblatt Teil einer Zyklus-Modul-Kombination sein, deren Berichtsquellentyp auf "Eingebettet" gesetzt ist.
Hinweis: Eine Zelle im Arbeitsblatt wird auf Basis der festgelegten Regeln geändert:

Verteilungskennzahl zum Ändern der Szenarienwerte verwenden

Die aktuelle Kennzahl muss auch im Parameter rv_measure_calc definiert worden sein. Die Eigenschaften sind:

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

Die Werte werden mithilfe des Infor BI OLAP-Befehls SplashValue verteilt. Folgende Parameter sind relevant:

  • AllocationMode (0 - 5)
  • TargetCell (Tupel)
  • SourceCell (Tupel)
  • Value (numerischer Ausdruck)
  • Rounding (logischer Ausdruck)
  • DecimalPlaces (numerischer Ausdruck)
  • ErrorCorrection (logischer Ausdruck)

Richten Sie die Ausgangszelle (SourceCell) ("Kennzahlen - Verteilen wie") ein:

  • Wenn kein Wert für "measure_spread" angegeben ist, wird die Kennzahl verwendet, die in der Eigenschaft ifemptyspreadmeasure_spread_measure verwendet wird.
    • Auf Basis dieses Wertes werden auch die in ifemptyspreadmeasure für multiply, divide, target, spread_rounding und error_correction definierten Eigenschaften verwendet.
    • Wenn auch der Wert für ifemptyspreadmeasure_spread_measure nicht definiert ist, wird die Standardverteilungskennzahl in rv_measure_spreadlike verwendet.
    • Wenn auch der Wert für rv_measure_spreadlike nicht angegeben ist, können Sie die Szenarienwerte nicht bearbeiten.
  • Der Parameter SplashValue.SourceCell muss gesetzt werden auf: if(not isnull(measure_spread), measure_spread, if(not isnull(ifemptyspreadmeasure_spread_measure), ifemptyspreadmeasure_spread_measure, rv_measure_spreadlike)).

Wenn Sie einen vorhandenen Wert (Ursprungswert <> 0) bearbeiten:

  • wird der aktualisierte Wert aus der geänderten Zelle verwendet, wenn die Kennzahl spread_type auf "Wert" gesetzt ist.
  • wird die Differenz zwischen dem ursprünglichen und dem aktualisierten Wert verwendet, wenn die Kennzahl spread_type auf "Delta" gesetzt ist.
  • wird der Wert multipliziert und dividiert, um die Kennzahl weighted_difference mithilfe der Werte für die Kennzahlen weightmeasure_multiply und weightmeasure_divide entsprechend zu berechnen.
    Hinweis: 
    • Wenn der Wert von weightmeasure_multiply bzw. weightmeasure_divide nicht definiert ist, müssen Sie den Wert unter Verwendung des vorhandenen Werts berechnen.
    • Wenn der Wert der Kennzahl measure_spread nicht definiert ist, wird die Voreinstellung rv_measure_spreadlike = like_measure verwendet.

    Wenn diese Werte nicht definiert sind, können die geänderten Daten nicht gespeichert werden.

  • Der Wert wird mithilfe von &LIKEFULL weighted_difference like_measure aktualisiert.

Wenn Sie einen neuen Wert (Ursprünglicher Wert = 0) festlegen:

  • wird der Wert multipliziert und dividiert, um die Kennzahl weighted_difference mithilfe der Werte für die Kennzahlen weightmeasure_multiply und weightmeasure_divide entsprechend zu berechnen.
    Hinweis: 
    • Wenn der Wert von weightmeasure_multiply bzw. weightmeasure_divide nicht definiert ist, müssen Sie den Wert unter Verwendung des vorhandenen Werts berechnen.
    • Wenn der Wert der Kennzahl measure_spread nicht definiert ist, wird die Voreinstellung rv_measure_spreadlike = like_measure verwendet.

    Wenn diese Werte nicht definiert sind, können die geänderten Daten nicht gespeichert werden.

  • Der Wert wird mithilfe der Kennzahl #LIKEFULL weighted_difference like_measure aktualisiert.
  • Wenn der Wert für measure_spread null ist, wird die Kennzahl verwendet, die in der Eigenschaft ifemptyspreadmeasure_spread_measure verwendet wird. Diese Kennzahl verwendet auch die in ifemptyspreadmeasure definierten Eigenschaften, um die Werte für das Ziel zu multiplizieren und zu teilen. Wenn kein Wert festgelegt ist, ist die Definition für die Verteilungskennzahl like_measure = nvl(measure_spread, nvl(ifemptyspreadmeasure_spread_measure, v_measure_spreadlike)). Wenn auch der Wert für diese Kennzahl null ist, wird folglich die Standardverteilungskennzahl in rv_measure_spreadlike verwendet. Wenn diese Kennzahl nicht definiert ist, schlägt die Bearbeitung fehl, weil die Verteilungskriterien nicht festgelegt sind.

So bestimmen Sie das Runden von Werten:

  • Wenn spread_rounding als positive Ganzzahl (Integer) definiert ist, enthält der Befehl SplashValue das Runden:
    • Parameter SplashValue.Rounding: 1=1 (true (wahr))
    • Parameter SplashValue.DecimalPlaces: spread_rounding
  • Wenn spread_rounding null, negativ oder nicht definiert ist, ist das Runden 0=1.
    • Parameter SplashValue.Rounding: 0=1 (false (falsch))
    • Parameter SplashValue. decimalspaces: nicht definiert
    Hinweis: Wenn measure_spread null ist, wird der Parameter ifemptyspreadmeasure_spread_rounding verwendet.
  • Beispiel für Verteilungsergebnisse als ganzzahlige Werte (wie prognostizierte Fahrzeuge):
    <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>

Fehlerkorrektur einrichten:

  • Wenn spread_error_correction auf TRUE gesetzt oder nicht definiert ist, enthält der Befehl SplashValue die Fehlerkorrektur, d. h. ein Basiselement kann einen gerundeten Wert erhalten, um sicherzustellen, dass die Summe aller verteilten Ergebnisse dem verteilten Wert (Aggregat) entspricht. Der Parameter SplashValue.ErrorCorrection ist auf 1=1 (true) gesetzt.
  • Wenn spread_error_correction auf FALSE (FALSCH) gesetzt ist, enthält der Befehl SplashValue keine Fehlerkorrektur. Der Parameter SplashValue.ErrorCorrection ist auf 0=1 (false) gesetzt.
Hinweis: Wenn measure_spread null ist, wird der Parameter ifemptyspreadmeasure_spread_error_correction verwendet.

Die Zellen, die geändert, aber nicht (unter Verwendung der Option Erneut berechnen) an OLAP übergeben wurden, sind durch einen blauen Hintergrund und ein Bearbeitungskennzeichen markiert. Wenn die Änderungen mithilfe der Option "Erneut berechnen" aktualisiert werden, werden diese bearbeiteten Zellen auf das Standardformat zurückgesetzt.

Wenn jedoch eine Berechnungsregel definiert ist, d. h. eine nicht berechnete Zielkennzahl ist in der Kennzahl rv_measure_calc für die Zelle nicht definiert, werden die Änderungen durch OLAP verworfen, wenn Sie die Daten erneut berechnen, und der ursprüngliche Wert der Zelle wird beibehalten.