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.
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).
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.
WebFOCUS |