Objektverwaltung:Formeln

Aus CoPlanner 11
(Weitergeleitet von Framework:Formeln)
Zur Navigation springenZur Suche springen

_

Eine Formel ist ein Objekt, das mindestens eine Quell- und eine Zieltabelle besitzt. Quell- und Zieltabelle können identisch sein. Im Vergleich zu berechneten Feldern (siehe Tabellendesigner) bieten Formeln einen deutlich größeren Funktionsumfang, komplexere Einsatzmöglichkeiten und in der Regel eine höhere Ausführungszeit.

Verknüpfungen

Framework, Formeln

Aktiv

Ist diese Option aktiviert, wird die Formel ausgeführt, sobald ein Datensatz in der Quelltabelle gespeichert wird. Das Speichern kann durch eine Benutzereingabe oder durch eine andere Formel ausgelöst werden, deren Zieltabelle die Quelltabelle dieser Formel ist.

Alternativ können aktive Formeln auch über den Makrobefehl „Tabellensätze dieses Plans neu rechnen“ ausgeführt werden.

Bei Makro rechnen

Die Formel wird ausgeführt, wenn sich die Anwendung im MakroMode befindet. Der MakroMode wird mit dem Makrobefehl „Session Parameter ändern“ und dem Parameter MakroMode=1 aktiviert. Mit MakroMode=0 wird wieder in den Benutzermodus gewechselt.

Formelart

Die Formelart bestimmt die Ausführungslogik einer Formel. Es stehen folgende Typen zur Verfügung:

  • Row (ehem. Single)
Ein Quelldatensatz erzeugt einen neuen Zieldatensatz.
  • Same
Die Formel schreibt in denselben Datensatz. Dieser Typ eignet sich beispielsweise zur Berechnung oder Aktualisierung von Feldern innerhalb desselben Datensatzes.
  • SourceRow (ehem. Quellsatz)
Kann ausschließlich in Kombination mit einer Formel vom Typ Row verwendet werden. Es werden keine eigenen Datensätze erzeugt. Stattdessen werden Änderungen auf den Quelldatensatz der zugehörigen Row-Formel zurückgeschrieben.
Beispiel:
Eine Row-Formel erzeugt aus einem Datensatz der Tabelle tb_A einen neuen Datensatz in tb_B. Änderungen, die direkt am Datensatz in tb_B vorgenommen werden, können über eine SourceRow-Formel auf den ursprünglichen Datensatz in tb_A zurückgeschrieben werden. Eine weitere Row-Formel würde dagegen einen zusätzlichen Datensatz erzeugen.
  • Group
Mehrere Quelldatensätze werden zu Zieldatensätzen gruppiert. Auch wenn mehrere Datensätze der Quelltabelle geändert werden, wird die Berechnung nur einmal ausgeführt.
Hinweis: Group-Formeln werden teilweise auch als Mengenformeln bezeichnet.
  • Makro
Ermöglicht das Starten von Makros bei Änderungen an einer Tabelle. Dadurch können Funktionen von Servermakros in ein durch Datenänderungen ausgelöstes Berechnungsmodell integriert werden.
  • Aggregation (ehem. Aggregat)
Mehrere Quelldatensätze werden zu einem Zieldatensatz zusammengefasst. Die Ausführung erfolgt für jede geänderte Quellzeile. In den meisten Anwendungsfällen ist eine Group-Formel effizienter. Aufgrund konzeptioneller Einschränkungen wird dieser Formeltyp künftig voraussichtlich nicht mehr weiterentwickelt. Neue Anforderungen sollten nach Möglichkeit mit Group-Formeln umgesetzt werden.
  • Update
Mehrere Quelldatensätze können zu Zieldatensätzen gruppiert werden. Es werden ausschließlich bereits vorhandene Zieldatensätze aktualisiert; neue Datensätze werden nicht angelegt.

Typed calculations

Ist Typed Calculations aktiviert, werden Ausdrücke bereits beim Laden des Rechenwerks in echte Codefunktionen kompiliert. Dadurch werden Formeln deutlich schneller ausgeführt als bei der bisherigen zeichenkettenbasierten Auswertung.

Da die Parameter dieser Codefunktionen über eindeutige Datentypen verfügen, ist ihre Verwendung konsistenter und eindeutiger (z. B. müssen Zeichenketten in Hochkommas angegeben werden). Dadurch ergeben sich bei bestehenden Formeln in einigen Fällen notwendige Anpassungen. Diese betreffen ausschließlich Formeln, bei denen die Option Typed Calculations aktiviert wird.

Die Option ist für Group- und Update-Formeln verpflichtend und kann bei Aggregation-Formeln nicht verwendet werden.

Es wird empfohlen, neue Formeln grundsätzlich mit aktivierten Typed Calculations anzulegen und bestehende Formeln schrittweise umzustellen.

Eine Erläuterung, warum Zeichenketten in Typed Expressions anders aufgebaut werden müssen, finden Sie auf dieser Seite.

Beispiel für die Umstellung von Formeln mit FKT_GetRecord und FKT_Aggregat

Alte Schreibweise:

FKT_GetRecord(Kurse_TBL_Standard.Kurs, Unternehmen !me [Umsatzerloese_PLAN_REC.Unternehmen_1.COPSYS_ID], Zeit !me [Umsatzerloese_PLAN_REC.Zeit_1.COPSYS_ID])

Neue Schreibweise:

FKT_GetRecord("Kurse_TBL_Standard.Kurs", "Unternehmen !me " + [Umsatzerloese_PLAN_REC.Unternehmen_1.COPSYS_ID], "Zeit !me " + [Umsatzerloese_PLAN_REC.Zeit_1.COPSYS_ID])


Bei aktivierten Typed Calculations steht außerdem die neue Funktion FKT_TimeDimDatePart zur Verfügung.

Hinweis  Boolean-Felder werden bei aktivierten Typed Calculations nicht mehr mit 0 oder -1 abgefragt, sondern mit False bzw. True.


Hinweis  Wenn Typed Calculations aktiviert sind, werden FKT_CIF und FKT_CHOOSE nicht mehr unterstützt.

Beispiel für das Ersetzen von FKT_CIF bei einem Boolean-Feld:

Alte Schreibweise:

FKT_CIF('[TBL_Example.LastName]' = '' OR '[TBL_Example.FirstName]',0,-1)

Neue Schreibweise:

IIF([TBL_Example.LastName] = '' OR [TBL_Example.FirstName] = '0',False,True)


Quelltabelle

Die Quelltabelle bzw. Dimension bildet die Grundlage für die Berechnung. Bei Group- und Update-Formeln können im Register Tabellen zusätzlich weitere Quelltabellen angegeben werden.

Zieltabelle

Die Zieltabelle bzw. Dimension in welche das Berechnungsergebnis geschrieben wird.

Execution Order

Die Execution Order legt die Reihenfolge fest, in der Formeln ausgeführt werden. Sie sollte verwendet werden, wenn mehrere Formeln dieselbe Quelltabelle verwenden und die Reihenfolge der Berechnungen relevant ist.

Beispielsweise sollte in einer Erfolgsplanung zunächst die Formel ausgeführt werden, welche den Umsatzsteuerbetrag anhand des Umsatzsteuersatzes berechnet. Erst anschließend sollte eine nachgelagerte Formel diesen Betrag für die Ermittlung der Zahllast weiterverarbeiten.

Löschweitergabe

Vorgänger
Ist diese Option aktiviert, werden beim Löschen eines Datensatzes, der durch eine Formel erzeugt wurde, auch die zugehörigen Quelldatensätze gelöscht. Dieses Verhalten wird nur in Ausnahmefällen benötigt.
Nachfolger
Ist diese Option aktiviert, werden alle aus einem Quelldatensatz erzeugten Zieldatensätze automatisch gelöscht, sobald der Quelldatensatz gelöscht wird. Dieses Verhalten ist in den meisten Anwendungsfällen sinnvoll und wird daher empfohlen.
Hinweis  Die Löschweitergabe wirkt sich ausschließlich auf Formeln des Typs Single (Row) aus. Bei Formeln des Typs Same hat diese Einstellung keine Auswirkung, da der Datensatz selbst gelöscht wird. Bei Formeln des Typs Aggregation wird beim Löschen eines Quelldatensatzes die Formel erneut ausgeführt. Der Zieldatensatz wird jedoch nicht automatisch gelöscht, da dieser mehrere Quelldatensätze zusammenfasst.

Iterationstabelle

Mit einer Iterationstabelle kann eine Formel mehrfach mit unterschiedlichen Parametern ausgeführt werden. Die Datensätze, über die iteriert werden soll, stammen dabei aus der hier ausgewählten Tabelle. Weitere Informationen finden Sie im Abschnitt Iterationen.

Tabellen, deren Änderungen diese Formel auslösen

Standardmäßig werden Formeln durch Änderungen an ihrer Quelltabelle oder über einen Makrobefehl ausgelöst. Für jede Quelltabelle kann eine Reihenfolge der Formelausführung definiert werden. Same-Formeln werden unabhängig von dieser Reihenfolge immer zuerst ausgeführt.

Zusätzlich kann das automatische Auslösen durch Änderungen an der Quelltabelle deaktiviert werden. Dadurch lassen sich Modellierungen einfacher umsetzen, für die bisher beispielsweise der MakroMode, das Aktivieren bzw. Deaktivieren von Formeln oder eine Quelltabelle vom Typ „keine“ verwendet werden musste.

Darüber hinaus kann eine Formel auch durch Änderungen an mehreren Tabellen ausgelöst werden. Zwischen diesen Tabellen und der eigentlichen Formel muss dabei kein technischer Zusammenhang bestehen.

Beispiel:

Eine Umsatzformel kann nicht nur bei Änderungen der Tabelle tb_Umsatz, sondern zusätzlich auch bei Änderungen der Tabelle tb_Zahlungsschlüssel ausgeführt werden.


Zuweisungen Bedingungen

Framework, Formeln - Bedingungen & Formeln

Zuweisungen

Im oberen Bereich des Registers „Zuweisungen Bedingungen“ werden die eigentlichen Inhalte einer Formel definiert. In der linken Spalte „Quelle“ (bzw. „SUM(Quellausdruck)“ bei Group-Formeln) wird ein Ausdruck oder Wert aus der Quelltabelle angegeben. In der rechten Spalte „Ziel“ wählen Sie das Feld der Zieltabelle aus, das beschrieben werden soll.

Um eine neue Zuweisung anzulegen, klicken Sie auf die obere Schaltfläche „Hinzufügen“. Über das -Symbol öffnen Sie den Editor des jeweiligen Feldes. Dort stehen Ihnen alle Felder der Quell- und Zieltabelle sowie sämtliche Funktionen, Variablen und Anwendungseigenschaften zur Verfügung.

Hinweis  Ab CoPlanner 11 Release 2 2026: Update-, Mengen- und Zeilenformeln unterstützen in Zuweisungen nun auch NULL-Werte und wandeln diese nicht mehr automatisch in 0 um. Soll ein NULL-Wert geschrieben werden, verwenden Sie den Ausdruck NullValue.

Gemeinsame Lookups synchron halten

Verbindungen zwischen Quelle und Ziel werden für Wertfelder grundsätzlich über eigene Zeilen in den Zuweisungen definiert.

Dimensionen können ebenfalls auf diese Weise verknüpft werden. Wird jedoch die Option „Gemeinsame Lookups synchron halten“ aktiviert, werden alle Dimensionen, deren Aliasnamen in Quelle und Ziel übereinstimmen, automatisch miteinander synchronisiert.

Felder, die weder explizit zugewiesen noch automatisch synchronisiert werden, erhalten beim Anlegen eines neuen Zieldatensatzes ihren jeweiligen Standardwert.

Funktionen

Funktionen können im Formeldesigner ausgewählt werden und ermöglichen umfangreiche Berechnungen sowie Datenmanipulationen innerhalb von Formeln.

Eine Übersicht aller verfügbaren Funktionen finden Sie unter CoPlanner Funktionen.

Bedingungen

Im unteren Bereich des Registers „Zuweisungen Bedingungen“ definieren Sie die Bedingungen, unter denen eine Formel ausgeführt wird. Die Formel wird nur dann angewendet, wenn alle definierten Bedingungen erfüllt sind.

Im Standardmodell von CoPlanner sind beispielsweise alle Formeln auf den Planzeitraum eingeschränkt.

Um eine neue Bedingung anzulegen, klicken Sie auf die untere Schaltfläche „Hinzufügen“. Über das -Symbol öffnen Sie den Editor des jeweiligen Feldes. Dort stehen Ihnen sämtliche Felder der Quell- und Zieltabelle sowie alle Funktionen, Variablen und Anwendungseigenschaften zur Verfügung.

Zwischen den beiden Vergleichswerten wählen Sie den gewünschten Vergleichsoperator aus und legen anschließend den Vergleichstyp (Numerisch, Text oder Datum) fest.

Ist die definierte Bedingung erfüllt (z. B. [Umsatzerloese_PLAN.Umsatz] > 0), wird die Formel für den jeweiligen Datensatz ausgeführt.

Hinweis  Bei Group-Formeln werden nur Datensätze erzeugt, die den definierten Bedingungen entsprechen. Bereits vorhandene Datensätze derselben Formel, die für den aktuell angemeldeten Plan nicht mehr auf die Bedingung zutreffen, werden gelöscht.

Beispiel:

Ist als Bedingung @Session_Unternehmen_ID@ definiert und ein Benutzer nimmt Änderungen für Unternehmen A vor, werden die Datensätze für Unternehmen A erzeugt. Meldet sich anschließend derselbe Benutzer auf Unternehmen B an und löst die Formel erneut aus, werden die Datensätze für Unternehmen B erstellt. Die zuvor erzeugten Datensätze für Unternehmen A werden gelöscht, da sie die aktuelle Bedingung nicht mehr erfüllen.

Folgende Vergleichsoperatoren stehen für Bedingungen zur Verfügung:

  • =
  • <
  • >
  • <=
  • >=
  • <>
  • LIKE
  • isChildOf
  • isParentOf
  • isNotChildOf
  • isNotParentOf
Hinweis  Bei den Operatoren isChildOf, isParentOf, isNotChildOf und isNotParentOf muss zusätzlich eine Referenzdimension angegeben werden, auf die sich der Vergleich bezieht. Dadurch können Hierarchiebeziehungen innerhalb von Dimensionen ausgewertet werden. Alle vier Operatoren können innerhalb einer Bedingung verwendet werden.
Hinweis  Ab CoPlanner 11 Release 2 2026: Update-, Mengen- und Zeilenformeln unterstützen in Bedingungen nun auch NULL-Werte und wandeln diese nicht mehr automatisch in 0 um. Soll ein NULL-Wert geschrieben werden, verwenden Sie den Ausdruck NullValue.

Iterationen

Framework, Formeln - Iterationen

Iterationen ermöglichen die mehrfache Ausführung einer Formel mit unterschiedlichen Parametern. Hierfür steht das Register „Iterationen“ zur Verfügung.

Fügen Sie zunächst über die Schaltfläche „Parameter hinzufügen“ einen Parameter (eine Spalte) hinzu. Anschließend können Sie über „Iteration hinzufügen“ beliebig viele Iterationen (Zeilen) anlegen und den Parametern die gewünschten Werte zuweisen.

Benötigen Sie weitere Parameter, können Sie diese ebenfalls über „Parameter hinzufügen“ anlegen. Nicht mehr benötigte Parameter lassen sich mit „Parameter löschen“ entfernen. Einzelne Iterationen können durch Markieren der entsprechenden Zeile und anschließendes Drücken der Entf-Taste oder über das X-Symbol am rechten Ende des Datensatzes gelöscht werden.

Innerhalb der Formel greifen Sie auf die unter „Parameter“ definierten Werte über Platzhalter wie [PAR 0], [PAR 1] usw. zu.

Wird beispielsweise der Ausdruck [PAR 0] * 100 in ein Zielfeld geschrieben und sind zwei Iterationen mit den Werten 0,8 und 0,2 definiert, erzeugt die Formel zwei Zieldatensätze mit den Werten 80 bzw. 20.

Ist eine Iterationstabelle angegeben, wird das Register „Iterationen“ durch das Register „Spaltenmapping für Iterationstabelle“ ersetzt.

In diesem Fall werden automatisch alle Datensätze der angegebenen Iterationstabelle nacheinander verarbeitet. Alle Felder dieser Tabelle können als Parameter verwendet werden. Die Zuordnung erfolgt über „Mapping hinzufügen“, anschließend „Neuen Eintrag“ und die Auswahl des gewünschten Feldes.

Die Zeitdimension wird häufig als Iterationstabelle verwendet, beispielsweise um für alle Monate eines bestimmten Zeitraums (definiert über die Bedingungen der Formel) Datensätze zu erzeugen.

Bei der Verwendung der Zeitdimension empfiehlt es sich, die Iteration auf Monate einzuschränken, beispielsweise über die Funktion FKT_TimeDimTypeFlag.

Framework, Formeln - Spaltenmapping für Iterationstabelle

Groups

Diese Registerkarte wird ausschließlich bei Formeln des Typs Group und Aggregation verwendet. Sie definiert, anhand welcher Lookups der Zieldatensatz ermittelt bzw. gruppiert wird.

Framework, Formeln - Groups

Zielsatzbindung

Die Option „Zielsatzbindung“ legt fest, wie erzeugte Gruppen von Datensätzen aktualisiert werden.

Folgende Varianten stehen zur Verfügung:

  • je Tabelle
  • je Formel
  • anhand der in der Gruppierung definierten Felder

Diese Option steht ausschließlich für Formeln des Typs Aggregation zur Verfügung.

Iterationen

Framework, Formeln - Groups

Ist im Register „Verknüpfung“ eine Iterationstabelle angegeben, kann über dieses Register direkt zu den Datensätzen der Iterationstabelle gewechselt werden.

Tabellen

Hier können zusätzliche Quelltabellen angegeben und miteinander verknüpft werden.

Weitere Quelltabellen

Syntax

Tabellenname,Alias,Join;

Beispiel:

Umsatzerloese_PLAN,Umsatz,HAS;

Arten von Joins:

HAS (oder INNER): Entspricht einem INNER JOIN in SQL. Bei einem HAS werden alle Zeilen der Tabellen A und B zusammengeführt, bei denen die Join-Spaltenelemente übereinstimmen.

OPT (oder LEFT): Entspricht einem LEFT JOIN in SQL. Bei einem OPT werden alle Zeilen der Tabellen A und B zusammengeführt, bei denen die Join-Spaltenelemente übereinstimmen. Zusätzlich bleiben alle Elemente der ersten Tabelle erhalten.

OUT (oder OUTER): Entspricht einem FULL OUTER JOIN in SQL. Bei einem OUT werden alle Zeilen der Tabellen A und B zusammengeführt, deren Join-Spaltenelemente übereinstimmen. Zusätzlich bleiben alle Elemente beider Tabellen erhalten, auch wenn keine Übereinstimmung vorhanden ist.

Alias: Der Alias einer Tabelle kann und sollte innerhalb der gesamten Formel verwendet werden. Dies gilt insbesondere für Groups, Zuweisungen, Bedingungen und Joins.

Dadurch kann beispielsweise statt

[Umsatzerloese_PLAN.Unternehmen_1.COPSYS_ID]

der kürzere Ausdruck

[Umsatz.Unternehmen_1.COPSYS_ID]

verwendet werden.

Join hinzufügen

Hier wird definiert, wie die Tabellen miteinander verknüpft werden.

Das Feld Join Tabelle gibt an, für welche Tabelle der Join gelten soll. Zulässig sind ausschließlich Tabellen, die zuvor unter „Weitere Quelltabellen“ definiert wurden.

Auch hier sollte der Aliasname und nicht der eigentliche Tabellenname verwendet werden. Wird eine Tabelle mehrfach als weitere Quelltabelle angegeben, ist die Verwendung des Alias zwingend erforderlich.

Folgende Operatoren werden für Joins unterstützt:

  • =
  • <
  • >
  • <=
  • >=
  • <>
  • isChildOf
  • isParentOf
Hinweis  Bei den Operatoren isChildOf und isParentOf muss zusätzlich eine Referenzdimension angegeben werden, auf die sich der Vergleich bezieht. Diese Operatoren ermöglichen Vergleiche innerhalb von Dimensionen.
Framework, Mengenformel Tabellen

Subqueries in Joins

Subqueries ermöglichen es, Daten aus Tabellen zunächst zu aggregieren oder zu filtern und anschließend mit den vorbereiteten Ergebnissen weiterzuarbeiten.

Innerhalb der Formel können über den Alias ausschließlich jene Felder verwendet werden, die auch in der Subquery definiert wurden.

Syntax:

Tabellenname,Alias([Summenwertfeld1]$[Summenwertfeld2]#Filter1$Filter2#[GruppierungsFeld1]$[Gruppierungsfeld2]),Join;

Die einzelnen Bereiche für Summenfelder, Filter und Gruppierungen werden jeweils durch ein # getrennt.

Innerhalb der Bereiche werden mehrere Felder durch ein $ voneinander getrennt.

Beispiele:

TabelleA,A([a]##[Unternehmen_1]),INNER;

Summiert das Feld [a] anhand einer Gruppierung nach Unternehmen.

TabelleA,A([a]$[b]##[Unternehmen_1]$[Zeit_1]),INNER;

Summiert die Felder [a] und [b] anhand einer Gruppierung nach Unternehmen und Zeit.

Subqueries unterstützen auch Expressions. Wird eine Expression verwendet, muss zusätzlich ein Alias für das Ergebnisfeld vergeben werden.

Beispiel: ([a]*[b]) as [newcol]

Anschließend kann in der Formel über [newcol] auf das berechnete Feld zugegriffen werden.

Auch Filter können als Expressions definiert werden.

Beispiel: "[a]+1=iif([b]=1,0,2)"

Der Datentyp der gesamten Filterexpression muss dabei ein Ergebnis vom Typ Boolean liefern.

Zusätzlich zu Expressions können weiterhin herkömmliche Filter verwendet werden. Filterkriterien können ebenfalls Expressions enthalten.

Beispiel: "[a] !me+under fkt_TimeDimX(@Planstart@)"

Diese Expression darf keine zeilenabhängigen Ausdrücke (Columns) enthalten.

Hinweis  FKT_SQLQUERY, FKT_AGGREGAT und FKT_GETRECORD sind in Subqueries nicht erlaubt.
Hinweis  Eckige Klammern für Datacolumns in Subqueries sind zwingend erforderlich.


Beispiel für eine Mengenformel ohne Subquery

Beispielumsatzplanung auf Basis einer Preistabelle und einer Mengentabelle als Eingabetabellen. Als Ergebnis soll das Produkt aus Mengen und Preise in eine Umsatztabelle übertragen werden.


Die drei Tabellen haben folgende Ausprägungen:

TBL_Preis_PLAN

Dimensionen

  • Unternehmen
  • Zeit
  • Produkte

Measures

  • Preis
Framework, Tabelle Preis

TBL_Mengen_PLAN

Dimensionen

  • Unternehmen
  • Zeit
  • Produkte

Measures

  • Menge
Framework, Tabelle Mengen

TBL_Umsatz_PLAN

Dimensionen

  • Unternehmen
  • Zeit
  • Produkte

Measures

  • Umsatz


Mit einer Mengenformel sollen die Preis- und die Mengentabelle verjoint werden und in die Umsatztabelle münden. Als Basistabelle ist die Preistabelle „TBL_Preise_PLAN“ definiert. Als Ergebnistabelle ist die Tabelle „TBL_Umsatz_PLAN“ ausgewählt. Die Tabelle „TBL_Mengen_PLAN“ wird der Preistabelle hinzugejoint. Die Formel ist sowohl bei Eingaben in der Mengen- als auch in der Preistabelle aktiviert.

Framework, Mengenformel Verknüpfung

Die dritte Tabelle wird über die Dimensionen Zeit, Unternehmen, Produkte hinzugefügt. Dafür muss der Tabellenname, ein beliebiger Tabellenalias und die Art des Joins angegeben werden. Über den Button Join hinzufügen können die Join-Bedingungen hinterlegt werden.

Framework, Mengenformel Tabellen

Unter „Zuweisungen Bedingungen“ wird das Produkt aus Menge x Preis hinterlegt.

Framework, Mengenformel Zuweisungen

Zum Schluss sind noch die Dimensionen zu hinterlegen, über die gruppiert werden soll.

Framework, Mengenformel Groups

Als Ergebnis erhält man den berechneten Umsatz in der Umsatztabelle.

Framework, Ergebnis in Umsatztabelle


Beispiel für Kumulierung über eine Mengenformel mit Subquery

Es wir hier eine Kumulierung nur auf Monaten innerhalb des Planzeitraums je Unternehmen ab dem ersten Startwert ausgeführt.

Die Tabellen haben folgende Ausprägungen und Inhalte:

TF37_tbl_A

Dimensionen

  • Unternehmen
  • Zeit
  • GuV-Gesamkostenverfahren-Struktur

Measures

  • Wert
Framework, Inhalt Tabelle TF37_tbl_A


TF37_tbl_Target Dimensionen

  • Unternehmen
  • Zeit

Measures

  • WertA
  • WertB

Die Tabelle TF37_tbl_Targets enthält vor Ausführung der Formel keine Werte

Zeit Hier handelt es sich um die Standard-Zeitdimension


Mit einer Mengenformel sollen die Werte aus der Tabelle "TF37_tbl_A" kumuliert in die Tabelle "TF37_tbl_Target" münden. Als Basistabelle ist die Tabelle "TF37_tbl_A" definiert. Als Ergebnistabelle ist die Tabelle „TF37_tbl_Target“ ausgewählt. Um keine Lücken bei Monaten, die nicht befüllt sind zu erhalten, wird die Zeit hinzugejoint. Die Formel ist bei Eingaben in der Tabelle "TF37_tbl_A" aktiviert.

Framework, Mengenformel Verknüpfung

Im nächsten Schritt wird auf dem Tab "Tabellen" die Tabelle "TF37_tbl_A" und die Dimension "Zeit" dazugejoint. Auf der Tabelle "TF37_tbl_A" wird eine Summierung des Feldes "Wert" auf Basis einer Gruppierung von Zeit und Unternehmen erstellt. Das NONE bei dem Join dient dazu, dass man auch die Quelltabelle Summieren und Gruppieren kann.

TF37_tbl_A,a([Wert]##[Zeit_1]$[Unternehmen_1]),NONE;

Zusätzlich wird die Dimension Zeit angegeben mit der Einschränkung, dass nur die Zeitelemente innerhalb des Planzeitraums verwendet werden.

Zeit,z(#[COPSYS_ID] !>=@Session_JP_DimMon_Von@$[COPSYS_ID] !<=@Session_JP_DimMon_Bis@#[COPSYS_ID]),INNER;

Schließlich wird noch ein Join erstellt zwischen der Zeit aus der Tabelle "TF37_tbl_A" und der Zeitdimension.

Framework, Mengenformel Tabellen

Unter „Zuweisungen Bedingungen“ wird der summierte Wert einem Feld der Zieltabelle zugewiesen. Außerdem wird noch eine Bedingung hinzugefügt, damit nur Monate für die Kumulierung herangezogen werden.

Framework, Mengenformel Zuweisungen

Zum Schluss sind noch die Dimensionen zu hinterlegen, über die gruppiert werden soll. Hier wird die Zeit aus der Zeitdimension herangezogen um keine Lücken bei den Monaten zu haben.

Framework, Mengenformel Groups

Als Ergebnis erhält man die kumulierten Werte je Unternehmen ab dem ersten Monat einer Eingabe dieses Unternehmens für den Planzeitraum.

Framework, Ergebnis in Umsatztabelle

Weitere Beispiele