Ein rekursives Modell erstellen

In Modellen, in denen unterschiedliche Zeiträume vorkommen, ist es meist erforderlich, den Endwert eines Zeitraums als den Anfangswert für den nächsten zu verwenden. Die Berechnungen, die diese Situationen beschreiben, haben zwei Merkmale:

Rekursive Modelle erfordern, dass Spalten in sequentieller Reihenfolge, eine nach der anderen, erstellt werden. Bei nicht rekursiven Modellen können alle Spalten simultan erstellt werden. Diese Muster werden schematisch wie folgt aufgezeigt.

rekursives Modell

FML stellt automatisch auf sequentielle Reihenfolge um, sobald eine der zwei Modellbedingungen, die dies erfordern, erkannt wird (entweder die Wiederverwendung von Labels für verschiedene Zeilen oder Vorausverweis auf ein Label in der Berechnung).


Nach oben

Beispiel: Ein rekursives Modell erstellen

Das folgende Beispiel beschreibt rekursive Modelle. Beachten Sie, dass ENDCASH eines Jahres zu STARTING CASH im darauffolgenden Jahr wird.

DEFINE FILE REGION
CUR_YR=E_ACTUAL;
LAST_YR=.831*CUR_YR;
NEXT_YR=1.2297*CUR_YR;
END
 
TABLE FILE REGION
SUM LAST_YR CUR_YR NEXT_YR
FOR ACCOUNT
10$$ AS 'STARTING CASH' LABEL STCASH        OVER
RECAP STCASH(2,*) = ENDCASH(*-1);           OVER
" "                                         OVER
3000 AS 'SALES' LABEL SLS                   OVER
3100 AS 'COST' LABEL COST                   OVER
BAR                                         OVER
RECAP PROFIT/I5C = SLS - COST;              OVER
" "                                         OVER
RECAP ENDCASH/I5C = STCASH + PROFIT;
END

Die Ausgabe wird wie folgt angezeigt.

Report


WebFOCUS