WebApps:Formeldesigner: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Lowercase-Links |
||
| (62 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 7: | Zeile 7: | ||
==Aufruf und Anlage einer Formel== | ==Aufruf und Anlage einer Formel== | ||
===Aufruf einer bestehenden Formel=== | ===Aufruf einer bestehenden Formel=== | ||
@Session_WebAppUrl@/coplanner/ | @Session_WebAppUrl@/coplanner/formulaeditor/?formula=<Formelname> | ||
Beispiel: | Beispiel: | ||
<nowiki>https://servername:4444/coplanner/ | <nowiki>https://servername:4444/coplanner/formulaeditor/?formula=frm1</nowiki> | ||
===Neuanlage einer Formel=== | ===Neuanlage einer Formel=== | ||
| Zeile 18: | Zeile 18: | ||
Aufruf über Tiles: | Aufruf über Tiles: | ||
<nowiki>@Session_WebAppUrl@/coplanner/ | <nowiki>@Session_WebAppUrl@/coplanner/formulaeditor/?formula=[new]</nowiki> | ||
Beispiel: | Beispiel: | ||
<nowiki>https://servername:4444/coplanner/ | <nowiki>https://servername:4444/coplanner/formulaeditor/?formula=[new]</nowiki> | ||
==Formeldesigner== | ==Formeldesigner== | ||
Es gibt 5 Schritte im Formeleditor: Allgemein | Es gibt 5 Schritte im Formeleditor: Allgemein, Zuweisungen, Auslöser & Bedingungen, Durchführungen und Ergebnis. | ||
Bedingungen und Durchführungen sind per default ausgeblendet. | Auslöser & Bedingungen und Durchführungen sind per default ausgeblendet und können durch die Betätigung des Schiebers ''"Optionale Felder werden angezeigt. Die mit „*“ gekennzeichneten Felder sind Pflichtfelder."'' unten links ein- bzw. ausgeblendet werden. | ||
===Allgemein=== | |||
Hier ist der Formelname ersichtlich. Dieser kann jedoch nicht geändert werden. | |||
Auf dieser Seite kann der Formeltyp ausgewählt werden und eine Beschreibung (sofern die optionalen Felder eingeblendet sind) für die Formel vergeben werden. | |||
Auf dieser Seite kann der Formeltyp ausgewählt werden und eine Beschreibung für die Formel vergeben werden. | |||
====Formeltypen==== | ====Formeltypen==== | ||
Es kann zwischen 4 verschiedenen Formeltypen ausgewählt werden. | Es kann zwischen 4 verschiedenen Formeltypen ausgewählt werden. | ||
'''Datensatz aktualisieren''' | * '''Datensatz aktualisieren''' <small><sub>Frühere Bezeichnung: Update-Formeln</sub></small> | ||
: Bestehende Datensätze können mit Informationen ergänzt werden. | |||
: Man kann sich hier beispielsweise den Wechselkurs aus einer Kurstabelle in eine andere Tabelle holen. | |||
* '''Zeilenweises Weiterschreiben''' <small><sub>Frühere Bezeichnung: Zeilenformeln</sub></small> | |||
: Ein Datensatz erzeugt einen neuen Datensatz. | |||
: Dies wird beispielsweise im Standardmodell verwendet, um in der Bilanz Zeilen für die Umbuchungen von Wechselkonten zu erzeugen oder um die aus einer Investition entstehenden Abschreibungen zu erzeugen (dabei wird über die Zeit iteriert). | |||
* '''Summiertes Weiterschreiben''' <small><sub>Frühere Bezeichnung: Mengenformeln</sub></small> | |||
: Mehrere Quelldatensätze werden zu Zieldatensätzen gruppiert und verdichtet. | |||
: Dies kann z. B. verwendet werden, um den gruppierten Umsatz in die Ergebnistabelle zu schreiben. | |||
* '''Makro ausführen''' | |||
: Man kann definieren, dass ein Makro bei Datenänderungen ausgeführt wird. (Anmerkung: Makros aus Formeln werden asynchron ausgeführt, auf die Ausführung von Makro-Formeln kann daher nicht gewartet werden.) | |||
'''Gesamte Tabelle rechnen''' | |||
Formeln vom Typ Datensatz aktualisieren rechnen normalerweise nur Datensätze, die sich geändert haben. Es kann jedoch sein, dass auch Datensätze, die sich nicht geändert haben, neu gerechnet werden müssen (wenn man z.B. einen prozentualen Anteil von mehreren Zeilen rechnen möchte). Mit dieser Option werden alle Datensätze neu gerechnet. | |||
{{Hinweis|Text=Diese Option ist nur bei Formeln des Typs Datensatz aktualisieren verfügbar. }} | |||
===Zuweisungen=== | |||
Auf dieser Seite können die an der Formel beteiligten Tabellen, Zuweisungen inkl. Ausdrücken und Joins definiert werden. | |||
Zusätzlich ist es hier möglich gruppierte Unterabfragen - sogenannte Subqueries - zu erstellen. | |||
Im vertikalen Menü besteht die Möglichkeit Dimensionen zwischen allen möglichen Tabellen nach dem Namen zu verknüpfen und nicht verwendete Measures/Dimensionen auszublenden, um eine bessere Übersicht über eine Formel zu erhalten. | |||
Im folgenden wird Verwendung der Zuweisungsseite für jeden Formeltyp beschrieben. | |||
{{Hinweis|Text=Wird der Typ "Makroformel" ausgewählt, gibt es keine Zuweisungen im Sinn, sondern nur eine angepasste Auswahlmöglichkeit für die Auslöser.}} | |||
==== Allgemeine Hinweise zu Zuweisungen ==== | |||
===== Kommentare in Ausdrücken''<sub><small>(ab CoPlanner 11 Release 2 2025)</small></sub>'' ===== | |||
Es besteht die Möglichkeit in Ausdrücken sog. Inline-Kommentare zu verwenden. Diese werden innerhalb des Berechnungsausdruck mit /* IHR KOMMENTAR */ gekennzeichnet. | |||
Beispiel: | |||
<code>[measure1] * [measure2] /*Kommentar zur Formel -> wird nicht ausgewertet*/</code> | |||
JEDOCH | |||
<code>[measure1] * [measure2] '/*steht in Hochkomma -> wird wie bisher als String ausgewertet*/'</code> | |||
====Zuweisungen bei Formeltyp: Datensatz aktualisieren ==== | |||
Definieren Sie eine Quelltabelle, welche auch die Zieltabelle ist, da bestehende Datensätze verändert werden. | |||
Es kann auch auf weitere Quelltabellen zugegriffen werden, fügen Sie hierzu weitere Quelltabellen via Drag-and-drop über den Bereich zwischen den Tabellen hinzu. | |||
Via Drag-and-drop können auch zwischen den jeweiligen Measures, Dimensionen und Lookups Joins und Zuweisungen erstellt werden. Wie die Tabellen gejoint werden (Left, Inner oder Fullouter), kann man über den Drop-Bereich zwischen den Tabellen definieren. | |||
Ausdrücke können über das Kontextmenü oder ebenfalls via Drag-and-drop aus dem Objektbrowser eingefügt werden. | |||
=== | |||
====Zuweisungen bei Formeltyp: Zeilenweises Weiterschreiben==== | |||
Definieren Sie aus welcher Quelle Daten in welches Ziel geschrieben werden sollen. Es wird für jeden Quelldatensatz auch ein Zieldatensatz erstellt. | |||
Zuweisungen können via Drag-und-drop erstellt werden. | |||
Ausdrücke können über das Kontextmenü oder via Drag-and-drop aus dem Objektbrowser eingefügt werden. | |||
====Zuweisungen bei Formeltyp: Summiertes Weiterschreiben==== | |||
Definieren Sie eine Quelle, aus der die Daten gruppiert und verdichtet in die definierte Zieltabelle geschrieben werden. | |||
Es kann auch auf Daten aus weiteren Tabellen zugegriffen werden, fügen Sie hierzu weitere Quelltabellen via Drag-and-drop über den Bereich zwischen den Tabellen hinzu. | |||
Via Drag-and-drop können auch zwischen den jeweiligen Measures, Dimensionen und Lookups Joins und Zuweisungen erstellt werden. Wie die Tabellen gejoint werden (Left, Inner oder Fullouter), kann man über den Drop-Bereich zwischen den Tabellen definieren. | |||
Ausdrücke können über das Kontextmenü oder ebenfalls via Drag-and-drop aus dem Objektbrowser eingefügt werden. | |||
==== Gruppierte Unterabfragen (Subqueries) ==== | |||
Über gruppierte Unterabfragen können Zeilen mit gleicher Dimensionierung zusammengefasst werden, bevor der Join erfolgt. | |||
Diese Funktion kann über den Toggle-Button "gruppierte Unterabfragen" eingeschaltet werden. | |||
Das Ergebnis enthält dabei alle Daten, die verknüpft werden. Es können außerdem Berechnungen, die auf den einzelnen Zeilen ausgeführt werden sollen, angegeben werden (z.B. Preis * Menge muss pro Zeile gerechnet werden). | |||
Bedingungen werden nach Möglichkeit dabei bereits vor der Gruppierung und Aggregation der Daten durchgeführt. | |||
{{Hinweis|Text=Die Daten werden immer summiert, unabhängig davon, was am Measure eingestellt ist.}} | |||
==== Aliase ==== | |||
Sobald es mehr als eine Quelltabelle gibt, kann man im Header der Tabellen einen Alias vergeben. Mit diesem Alias kann man dann in Ausdrücken auf die Inhalte der Tabelle/Subquery zugreifen. | |||
==== Generelle Verknüpfungslogik ==== | |||
Mit "Verknüpfung" ist in diesem Abschnitt das Verbinden von Objekten im Formeldesigner via Drag and Drop gemeint. Dies wird dann mit einer gezeichneten Linie visualisiert. Verknüpfungen können entfernt werden, indem man sie anklickt und 'ENTF' drückt oder über das Kontextmenü. | |||
* '''Verknüpfung von Measures''' | |||
: Werden Measures miteinander verknüpft, werden die Werte des Measures in die Zieltabelle weiter geschrieben. | |||
* '''Verknüpfung von Dimensionen''' | |||
:* Verknüpfung von Dimensionen zweier Quelltabellen (Join) | |||
:: Die Verknüpfung zwischen Dimensionen die beide als Quelltabellen in der Formel fungieren, ist die Folge ein Join zwischen den beiden Tabellen anhand der Dimensionen und dem gewählten Join-Operator. | |||
:* Verknüpfung von Dimensionen mit der Zieltabelle | |||
:: Eine Verknüpfung von Dimensionen mit der Zieltabelle führt dazu, dass die Werte der Dimension weitergeschrieben werden. | |||
==== | ==== Arten von Joins ==== | ||
[[Datei:Join_HAS.png|100px]]'''INNER JOIN:''' entspricht einem INNER JOIN in SQL. Bei einem INNER JOIN werden alle Zeilen aus der Tabelle A und der Tabelle B zusammengeführt, bei denen die Join Spaltenelemente gleich sind. | |||
[[Datei:Join_OPT.png|100px]] '''LEFT OUTER JOIN:''' entspricht einem LEFT JOIN in SQL. Bei einem LEFT JOIN werden alle Zeilen aus der Tabelle A und der Tabelle B zusammengeführt, bei denen die Join Spaltenelemente gleich sind sowie alle Elemente aus der ersten Tabelle. | |||
[[Datei:Join_OUT.png|100px]]'''FULL OUTER JOIN:''' entspricht einem FULL OUTER JOIN in SQL. Bei einem FULL OUTER JOIN werden alle Zeilen aus der Tabelle A und der Tabelle B zusammengeführt, wo die Join Spaltenelemente gleich sind sowie alle Elemente aus den beiden Tabellen, die keine gleichen Elemente haben. | |||
===Bedingungen | ===Auslöser & Bedingungen=== | ||
Auf dieser Seite kann festgelegt werden, in welchen Tabellen Datenänderungen die Berechnung der vorliegenden Formel auslösen. Außerdem können Bedingungen festgelegt werden, für welche Datenkonstellationen Berechnungen durchgeführt werden sollen und für welche nicht. | Auf dieser Seite kann festgelegt werden, in welchen Tabellen Datenänderungen die Berechnung der vorliegenden Formel auslösen. Außerdem können Bedingungen festgelegt werden, für welche Datenkonstellationen Berechnungen durchgeführt werden sollen und für welche nicht. | ||
==== Auslöser ==== | ==== Auslöser ==== | ||
In den meisten Fällen werden Formeln durch die Veränderungen von Daten in bestimmten Tabellen ausgelöst. Es kann hier definiert werden, welche Tabellen bei einer Datenänderung die Formel auslösen sollen. | |||
Die „[[Priorität bei Ausführung]]“ ist dann zu verwenden, wenn mehrere Formeln dieselbe Quelltabelle verwenden und die Reihenfolge der Berechnungen wichtig ist. Dabei werden niedrigere Werte vor höheren ausgeführt. | |||
Auf Auslöser mit Prioritäten kleiner 0 kann in Masken gewartet werden ([[WaitForCalc]]). | |||
==== Bedingungen ==== | ==== Bedingungen ==== | ||
Bedingungen legen fest, für welche Datenkonstellationen Berechnungen durchgeführt werden. | |||
Dies kann zum Beispiel verwendet werden, um Berechnungen für einen langlaufenden Kredit auf den Planungszeitraum einzuschränken. | |||
===Durchführungen=== | ===Durchführungen=== | ||
Auf dieser Seite können Durchführungen (=Iterationen) konfiguriert werden. Diese erlauben die mehrfache Abarbeitung einer Formel mit verschiedenen Parametern. | Auf dieser Seite können Durchführungen (=Iterationen) konfiguriert werden. Diese erlauben die mehrfache Abarbeitung einer Formel mit verschiedenen Parametern. | ||
- | * '''einmalige Durchführung:''' | ||
: Das ist das Standardverhalten. Wenn die Formel ausgelöst wird, wird sie ein einziges Mal gerechnet. | |||
* '''manuelle Durchführungen:''' | |||
: Bei Auswahl des Modus „manuelle Durchführungen“ kann die Anzahl der Durchführungen, die Anzahl der Parameter, sowie deren Werte vergeben werden. | |||
: Die manuellen Durchführungen können z. B. verwendet werden, um bei einem Umsatz mit einem Zahlungsziel die drei notwendigen Zeilen zu erzeugen: Aufbau der Rückstellung, Abbau der Rückstellung und Zahlungseingang. | |||
{{Hinweis|Text='''Wie sind die Werte und Parameter zu verwenden wenn man Durchführungen nutzt?''' | |||
In den Ausdrücken werden die in den Parametern definierten Werte mit dem Platzhalter [PAR 0] etc. angesprochen. | |||
Soll z. B. eine Formel definiert werden, die eine Rückstellung auf- und abbaut, so macht es Sinn diese mit zwei Durchführungen aufzusetzen. | |||
* In der ersten Durchführung wird mit dem Wert (als erster Parameter) gearbeitet und dem Zeitpunkt des Aufbaus (als zweiten Parameter). | |||
* In der zweiten Durchführung wird mit dem negativen Wert (als erster Parameter) und dem Zeitpunkt des Abbaus (als zweiten Parameter). | |||
Im Ausdruck Zielzuweisung kann über [PAR 0] auf den Wert und über [PAR 1] auf den Zeitpunkt zugegriffen werden. | |||
}} | |||
* '''Durchführungen über die Zeit:''' | |||
: Bei „Durchführungen über die Zeit“ werden automatisch alle Elemente der gewählten Zeit, welche sich im definierten Zeitraum befinden, nacheinander abgearbeitet. Die COPSYS_ID kann in Ausdrücken als Parameter ([PAR 0]) verwendet werden. Es ist sinnvoll dies bei der Berechnung von zeitlich abhängigen Größen zu verwenden | |||
: Ein Beispiel hierfür sind z. B. Kassenbestände. Um den Kassenstand für Februar berechnen zu können, muss der Kassenstand aus dem Januar bekannt sein. | |||
===Ergebnis=== | ===Ergebnis=== | ||
Auf dieser Seite wird eine Zusammenfassung der getätigten Einstellungen und relevante Informationen über die Formel angezeigt. | Auf dieser Seite wird eine Zusammenfassung der getätigten Einstellungen und relevante Informationen über die Formel angezeigt. | ||
==Unterschiede zum Formeldesigner im Windows Client bzw. Verschlankungen im Vergleich zum Formeldesigner im Windows Client== | |||
Generell kann gesagt werden, dass der "alte" Formeldesigner im Windows Client schon lange nicht mehr überarbeitet wurde. Auch wenn man mit dem "alten" Formeldesigner bereits vielfältige Möglichkeiten hat, Formeln zu erstellen, war dieser im Vergleich zum neuen System weniger intuitiv und tlw. auch etwas mühsam. | |||
Um die Arbeit mit Formeln besser nutzbar zu machen und den User zu unterstützen, wurde der in diesem Artikel beschriebene web-basierte Formeldesigner entwickelt. | |||
Das Ziel dieses Formeldesigners ist es jedoch ''nicht'' die Funktionalität des "alten" Windows Formeldesigners 1:1 wieder abzubilden, ''sondern'' effizientes Arbeiten mit Formeln in Projekten zu ermöglichen. Als Basis für den unterstützten Feature-Umfang wurde dabei das Standardmodell verwendet. | |||
Daher sollten die folgenden Punkte genannt werden: | |||
* Joins über Felder, die keine Dimensionen sind, werden nicht unterstützt. | |||
* Iterationen über beliebige Tabellen, werden nicht unterstützt, sondern nur über Zeitdimensionen und ohne den Parameter COUNTER. | |||
* Formeln, die nicht typed Syntax verwenden, werden nicht unterstützt. | |||
* Subqueries: Filter auf Nicht-Dimensionen und die Angabe von Aggregationstypen werden nicht unterstützt. | |||
* Alle Formeltypen die oben nicht aufgeführt werden, werden nicht unterstützt. (Es werden also nur die im Artikel explizit genannten Formeltypen unterstützt) | |||
* "Gemeinsame Lookups synchron halten" wird nicht mehr unterstützt | |||
* Makromode wird nicht mehr unterstützt | |||
Aktuelle Version vom 28. Oktober 2025, 15:14 Uhr
Systemvoraussetzungen
Die Voraussetzungen finden Sie hier.
Aufruf und Anlage einer Formel
Aufruf einer bestehenden Formel
@Session_WebAppUrl@/coplanner/formulaeditor/?formula=<Formelname>
Beispiel:
https://servername:4444/coplanner/formulaeditor/?formula=frm1
Neuanlage einer Formel
Eine neue Formel kann entweder in der Objektverwaltung im Windowsclient oder über den Aufruf über die Tiles angelegt werden.
Aufruf über Tiles:
@Session_WebAppUrl@/coplanner/formulaeditor/?formula=[new]
Beispiel:
https://servername:4444/coplanner/formulaeditor/?formula=[new]
Formeldesigner
Es gibt 5 Schritte im Formeleditor: Allgemein, Zuweisungen, Auslöser & Bedingungen, Durchführungen und Ergebnis.
Auslöser & Bedingungen und Durchführungen sind per default ausgeblendet und können durch die Betätigung des Schiebers "Optionale Felder werden angezeigt. Die mit „*“ gekennzeichneten Felder sind Pflichtfelder." unten links ein- bzw. ausgeblendet werden.
Allgemein
Hier ist der Formelname ersichtlich. Dieser kann jedoch nicht geändert werden.
Auf dieser Seite kann der Formeltyp ausgewählt werden und eine Beschreibung (sofern die optionalen Felder eingeblendet sind) für die Formel vergeben werden.
Formeltypen
Es kann zwischen 4 verschiedenen Formeltypen ausgewählt werden.
- Datensatz aktualisieren Frühere Bezeichnung: Update-Formeln
- Bestehende Datensätze können mit Informationen ergänzt werden.
- Man kann sich hier beispielsweise den Wechselkurs aus einer Kurstabelle in eine andere Tabelle holen.
- Zeilenweises Weiterschreiben Frühere Bezeichnung: Zeilenformeln
- Ein Datensatz erzeugt einen neuen Datensatz.
- Dies wird beispielsweise im Standardmodell verwendet, um in der Bilanz Zeilen für die Umbuchungen von Wechselkonten zu erzeugen oder um die aus einer Investition entstehenden Abschreibungen zu erzeugen (dabei wird über die Zeit iteriert).
- Summiertes Weiterschreiben Frühere Bezeichnung: Mengenformeln
- Mehrere Quelldatensätze werden zu Zieldatensätzen gruppiert und verdichtet.
- Dies kann z. B. verwendet werden, um den gruppierten Umsatz in die Ergebnistabelle zu schreiben.
- Makro ausführen
- Man kann definieren, dass ein Makro bei Datenänderungen ausgeführt wird. (Anmerkung: Makros aus Formeln werden asynchron ausgeführt, auf die Ausführung von Makro-Formeln kann daher nicht gewartet werden.)
Gesamte Tabelle rechnen
Formeln vom Typ Datensatz aktualisieren rechnen normalerweise nur Datensätze, die sich geändert haben. Es kann jedoch sein, dass auch Datensätze, die sich nicht geändert haben, neu gerechnet werden müssen (wenn man z.B. einen prozentualen Anteil von mehreren Zeilen rechnen möchte). Mit dieser Option werden alle Datensätze neu gerechnet.
| Hinweis Diese Option ist nur bei Formeln des Typs Datensatz aktualisieren verfügbar. |
Zuweisungen
Auf dieser Seite können die an der Formel beteiligten Tabellen, Zuweisungen inkl. Ausdrücken und Joins definiert werden.
Zusätzlich ist es hier möglich gruppierte Unterabfragen - sogenannte Subqueries - zu erstellen.
Im vertikalen Menü besteht die Möglichkeit Dimensionen zwischen allen möglichen Tabellen nach dem Namen zu verknüpfen und nicht verwendete Measures/Dimensionen auszublenden, um eine bessere Übersicht über eine Formel zu erhalten.
Im folgenden wird Verwendung der Zuweisungsseite für jeden Formeltyp beschrieben.
| Hinweis Wird der Typ "Makroformel" ausgewählt, gibt es keine Zuweisungen im Sinn, sondern nur eine angepasste Auswahlmöglichkeit für die Auslöser. |
Allgemeine Hinweise zu Zuweisungen
Kommentare in Ausdrücken(ab CoPlanner 11 Release 2 2025)
Es besteht die Möglichkeit in Ausdrücken sog. Inline-Kommentare zu verwenden. Diese werden innerhalb des Berechnungsausdruck mit /* IHR KOMMENTAR */ gekennzeichnet.
Beispiel:
[measure1] * [measure2] /*Kommentar zur Formel -> wird nicht ausgewertet*/
JEDOCH
[measure1] * [measure2] '/*steht in Hochkomma -> wird wie bisher als String ausgewertet*/'
Zuweisungen bei Formeltyp: Datensatz aktualisieren
Definieren Sie eine Quelltabelle, welche auch die Zieltabelle ist, da bestehende Datensätze verändert werden.
Es kann auch auf weitere Quelltabellen zugegriffen werden, fügen Sie hierzu weitere Quelltabellen via Drag-and-drop über den Bereich zwischen den Tabellen hinzu.
Via Drag-and-drop können auch zwischen den jeweiligen Measures, Dimensionen und Lookups Joins und Zuweisungen erstellt werden. Wie die Tabellen gejoint werden (Left, Inner oder Fullouter), kann man über den Drop-Bereich zwischen den Tabellen definieren.
Ausdrücke können über das Kontextmenü oder ebenfalls via Drag-and-drop aus dem Objektbrowser eingefügt werden.
Zuweisungen bei Formeltyp: Zeilenweises Weiterschreiben
Definieren Sie aus welcher Quelle Daten in welches Ziel geschrieben werden sollen. Es wird für jeden Quelldatensatz auch ein Zieldatensatz erstellt.
Zuweisungen können via Drag-und-drop erstellt werden.
Ausdrücke können über das Kontextmenü oder via Drag-and-drop aus dem Objektbrowser eingefügt werden.
Zuweisungen bei Formeltyp: Summiertes Weiterschreiben
Definieren Sie eine Quelle, aus der die Daten gruppiert und verdichtet in die definierte Zieltabelle geschrieben werden.
Es kann auch auf Daten aus weiteren Tabellen zugegriffen werden, fügen Sie hierzu weitere Quelltabellen via Drag-and-drop über den Bereich zwischen den Tabellen hinzu.
Via Drag-and-drop können auch zwischen den jeweiligen Measures, Dimensionen und Lookups Joins und Zuweisungen erstellt werden. Wie die Tabellen gejoint werden (Left, Inner oder Fullouter), kann man über den Drop-Bereich zwischen den Tabellen definieren.
Ausdrücke können über das Kontextmenü oder ebenfalls via Drag-and-drop aus dem Objektbrowser eingefügt werden.
Gruppierte Unterabfragen (Subqueries)
Über gruppierte Unterabfragen können Zeilen mit gleicher Dimensionierung zusammengefasst werden, bevor der Join erfolgt.
Diese Funktion kann über den Toggle-Button "gruppierte Unterabfragen" eingeschaltet werden.
Das Ergebnis enthält dabei alle Daten, die verknüpft werden. Es können außerdem Berechnungen, die auf den einzelnen Zeilen ausgeführt werden sollen, angegeben werden (z.B. Preis * Menge muss pro Zeile gerechnet werden).
Bedingungen werden nach Möglichkeit dabei bereits vor der Gruppierung und Aggregation der Daten durchgeführt.
| Hinweis Die Daten werden immer summiert, unabhängig davon, was am Measure eingestellt ist. |
Aliase
Sobald es mehr als eine Quelltabelle gibt, kann man im Header der Tabellen einen Alias vergeben. Mit diesem Alias kann man dann in Ausdrücken auf die Inhalte der Tabelle/Subquery zugreifen.
Generelle Verknüpfungslogik
Mit "Verknüpfung" ist in diesem Abschnitt das Verbinden von Objekten im Formeldesigner via Drag and Drop gemeint. Dies wird dann mit einer gezeichneten Linie visualisiert. Verknüpfungen können entfernt werden, indem man sie anklickt und 'ENTF' drückt oder über das Kontextmenü.
- Verknüpfung von Measures
- Werden Measures miteinander verknüpft, werden die Werte des Measures in die Zieltabelle weiter geschrieben.
- Verknüpfung von Dimensionen
- Verknüpfung von Dimensionen zweier Quelltabellen (Join)
- Die Verknüpfung zwischen Dimensionen die beide als Quelltabellen in der Formel fungieren, ist die Folge ein Join zwischen den beiden Tabellen anhand der Dimensionen und dem gewählten Join-Operator.
- Verknüpfung von Dimensionen mit der Zieltabelle
- Eine Verknüpfung von Dimensionen mit der Zieltabelle führt dazu, dass die Werte der Dimension weitergeschrieben werden.
Arten von Joins
INNER JOIN: entspricht einem INNER JOIN in SQL. Bei einem INNER JOIN werden alle Zeilen aus der Tabelle A und der Tabelle B zusammengeführt, bei denen die Join Spaltenelemente gleich sind.
LEFT OUTER JOIN: entspricht einem LEFT JOIN in SQL. Bei einem LEFT JOIN werden alle Zeilen aus der Tabelle A und der Tabelle B zusammengeführt, bei denen die Join Spaltenelemente gleich sind sowie alle Elemente aus der ersten Tabelle.
FULL OUTER JOIN: entspricht einem FULL OUTER JOIN in SQL. Bei einem FULL OUTER JOIN werden alle Zeilen aus der Tabelle A und der Tabelle B zusammengeführt, wo die Join Spaltenelemente gleich sind sowie alle Elemente aus den beiden Tabellen, die keine gleichen Elemente haben.
Auslöser & Bedingungen
Auf dieser Seite kann festgelegt werden, in welchen Tabellen Datenänderungen die Berechnung der vorliegenden Formel auslösen. Außerdem können Bedingungen festgelegt werden, für welche Datenkonstellationen Berechnungen durchgeführt werden sollen und für welche nicht.
Auslöser
In den meisten Fällen werden Formeln durch die Veränderungen von Daten in bestimmten Tabellen ausgelöst. Es kann hier definiert werden, welche Tabellen bei einer Datenänderung die Formel auslösen sollen.
Die „Priorität bei Ausführung“ ist dann zu verwenden, wenn mehrere Formeln dieselbe Quelltabelle verwenden und die Reihenfolge der Berechnungen wichtig ist. Dabei werden niedrigere Werte vor höheren ausgeführt.
Auf Auslöser mit Prioritäten kleiner 0 kann in Masken gewartet werden (WaitForCalc).
Bedingungen
Bedingungen legen fest, für welche Datenkonstellationen Berechnungen durchgeführt werden.
Dies kann zum Beispiel verwendet werden, um Berechnungen für einen langlaufenden Kredit auf den Planungszeitraum einzuschränken.
Durchführungen
Auf dieser Seite können Durchführungen (=Iterationen) konfiguriert werden. Diese erlauben die mehrfache Abarbeitung einer Formel mit verschiedenen Parametern.
- einmalige Durchführung:
- Das ist das Standardverhalten. Wenn die Formel ausgelöst wird, wird sie ein einziges Mal gerechnet.
- manuelle Durchführungen:
- Bei Auswahl des Modus „manuelle Durchführungen“ kann die Anzahl der Durchführungen, die Anzahl der Parameter, sowie deren Werte vergeben werden.
- Die manuellen Durchführungen können z. B. verwendet werden, um bei einem Umsatz mit einem Zahlungsziel die drei notwendigen Zeilen zu erzeugen: Aufbau der Rückstellung, Abbau der Rückstellung und Zahlungseingang.
| Hinweis Wie sind die Werte und Parameter zu verwenden wenn man Durchführungen nutzt?
In den Ausdrücken werden die in den Parametern definierten Werte mit dem Platzhalter [PAR 0] etc. angesprochen. Soll z. B. eine Formel definiert werden, die eine Rückstellung auf- und abbaut, so macht es Sinn diese mit zwei Durchführungen aufzusetzen.
Im Ausdruck Zielzuweisung kann über [PAR 0] auf den Wert und über [PAR 1] auf den Zeitpunkt zugegriffen werden. |
- Durchführungen über die Zeit:
- Bei „Durchführungen über die Zeit“ werden automatisch alle Elemente der gewählten Zeit, welche sich im definierten Zeitraum befinden, nacheinander abgearbeitet. Die COPSYS_ID kann in Ausdrücken als Parameter ([PAR 0]) verwendet werden. Es ist sinnvoll dies bei der Berechnung von zeitlich abhängigen Größen zu verwenden
- Ein Beispiel hierfür sind z. B. Kassenbestände. Um den Kassenstand für Februar berechnen zu können, muss der Kassenstand aus dem Januar bekannt sein.
Ergebnis
Auf dieser Seite wird eine Zusammenfassung der getätigten Einstellungen und relevante Informationen über die Formel angezeigt.
Unterschiede zum Formeldesigner im Windows Client bzw. Verschlankungen im Vergleich zum Formeldesigner im Windows Client
Generell kann gesagt werden, dass der "alte" Formeldesigner im Windows Client schon lange nicht mehr überarbeitet wurde. Auch wenn man mit dem "alten" Formeldesigner bereits vielfältige Möglichkeiten hat, Formeln zu erstellen, war dieser im Vergleich zum neuen System weniger intuitiv und tlw. auch etwas mühsam.
Um die Arbeit mit Formeln besser nutzbar zu machen und den User zu unterstützen, wurde der in diesem Artikel beschriebene web-basierte Formeldesigner entwickelt.
Das Ziel dieses Formeldesigners ist es jedoch nicht die Funktionalität des "alten" Windows Formeldesigners 1:1 wieder abzubilden, sondern effizientes Arbeiten mit Formeln in Projekten zu ermöglichen. Als Basis für den unterstützten Feature-Umfang wurde dabei das Standardmodell verwendet.
Daher sollten die folgenden Punkte genannt werden:
- Joins über Felder, die keine Dimensionen sind, werden nicht unterstützt.
- Iterationen über beliebige Tabellen, werden nicht unterstützt, sondern nur über Zeitdimensionen und ohne den Parameter COUNTER.
- Formeln, die nicht typed Syntax verwenden, werden nicht unterstützt.
- Subqueries: Filter auf Nicht-Dimensionen und die Angabe von Aggregationstypen werden nicht unterstützt.
- Alle Formeltypen die oben nicht aufgeführt werden, werden nicht unterstützt. (Es werden also nur die im Artikel explizit genannten Formeltypen unterstützt)
- "Gemeinsame Lookups synchron halten" wird nicht mehr unterstützt
- Makromode wird nicht mehr unterstützt