In Capitally ermöglichen Funktionen wie Import und Steuern die Definition komplexer Logiken mit einem einfachen No-Code-Editor. Tatsächlich wurden alle integrierten Voreinstellungen mit diesem Editor erstellt – du kannst also den vollen Funktionsumfang der Anwendung nutzen und ihn an deine Bedürfnisse anpassen.
Dieser Artikel führt dich durch die allgemeinen Funktionen. Weitere Details findest du in den jeweiligen Artikeln zu Import und Steuern .
Bausteine
Voreinstellungen werden mithilfe von Kontoauszügenerstellt. Bei der Auswertung wird jeder Kontoauszug nacheinander ausgeführt, bis entweder ein Exit -Kontoauszug erreicht wird oder die Liste der Kontoauszüge endet.
Wenn ein Kontoauszug einen Wert auswerten muss, wird ein Ausdruck verwendet. Diese reichen von einem festen Wert, wie einem Asset oder einer bestimmten Zahl, über einen Eigenschaftswert, wie eine Datenspalte oder einen Transaktionstyp, bis hin zu Formeln , die komplexe Berechnungen ermöglichen.
Du kannst es wie eine einfache Skriptsprache oder eine komplexe Excel-Formel behandeln. Es bietet grundlegende Konzepte wie Kontoauszüge, Ausdrücke, Variablen, Funktionen und Schleifen. Alles wird jedoch auf visuelle Weise erstellt – ganz ohne Programmierung.
Snippets
Nutze die integrierten Snippets als idealen Ausgangspunkt. Du kannst sie überall über das Menü Kontoauszug hinzufügen einfügen.
Entscheidungen mit If-Kontoauszügen treffen
Der grundlegendste Kontoauszug ist der If -Kontoauszug. Er ermöglicht es, Entscheidungen auf Basis beliebiger Eigenschaften zu treffen. Wenn die Bedingungen zutreffen, werden die verschachtelten Kontoauszüge ausgeführt. Wenn nicht, wird der nächste else - oder else if -Block geprüft.
Kontoauszüge und If-Blöcke einfügen
Um einen neuen Kontoauszug einzufügen, fahre mit der Maus über den Bereich vor, nach oder zwischen vorhandenen Kontoauszügen und klicke auf den blauen Trennlinie, die erscheint, und wähle eine Anweisung oder Voreinstellung aus dem Menü.

Um einen neuen „If"-Block einzufügen, fahre mit der Maus über den Bereich vor, nach oder zwischen vorhandenen If/Else-Blöcken und klicke auf die graue Trennlinie, die erscheint.

Bearbeiten
Jede Anweisung und jeder If-Block hat ein Menü, über das du sie kopieren, ausschneiden, duplizieren und löschen kannst.
Nachdem du eine Anweisung kopiert oder ausgeschnitten hast, kannst du sie genauso einfügen, wie du neue Anweisungen hinzufügst – dort erscheint dann eine Einfügen-Option.
Du kannst Anweisungen zwischen zwei verschiedenen Steuer-Voreinstellungen und sogar zwischen zwei verschiedenen Projekten kopieren und einfügen.
Und / Oder
Wenn komplexe Bedingungen benötigt werden, kannst du die erste Bedingung in einen Und/Oder-Block einschließen und so mehrere Bedingungen kombinieren.

Eigenschaften mit der Set-Anweisung setzen
Du kannst die Eigenschaft oder Variable eines Objekts mit einer Set -Anweisung ändern. Wähle dazu einfach die zu ändernde Eigenschaft aus und gib einen Wert an.
Die Gebührenwährung entspricht der Wertwährung
Vorhandenen Wert ändern statt ersetzen
Über das Dropdown-Menü to kannst du verschiedene Zuweisungsmodi auswählen, wie Addition, Multiplikation, Anhängen oder Voranstellen von Text und vieles mehr.
Der Wert wird um die Spalte „Betrag" erhöht, während die Notiz mit der Beschreibung ergänzt wird
Werte transformieren
Einfache Skalarwerte wie Text oder Zahlen können vor ihrer Zuweisung transformiert werden. Durch Klicken auf fx kannst du eine der Transformationen auswählen. Du kannst mehrere Transformationen nacheinander anwenden und sie per Drag & Drop neu anordnen. Derselbe fx-Button erscheint überall dort, wo eine Zuordnung über eine Spalte oder eine Formel nach einem Asset, einem Markt oder einer Preisquelle sucht, sodass der Wert bereinigt werden kann, bevor die Suche startet.
Der Wert wird zum gerundeten Absolutwert der Spalte „Betrag"Text ersetzen
Die Transformation Ersetzen ermöglicht es, Vorkommen eines übereinstimmenden Texts durch etwas anderes zu ersetzen. Du kannst zum Beispiel ein Wort ersetzen (z. B. .GR durch .EU) oder etwas entfernen, indem du es durch nichts ersetzt.

Ersetzen unterstützt auch Reguläre Ausdrücke , einschließlich sogenannter Capture-Gruppen und Rückverweise. Aktiviere dazu einfach die Schaltfläche (.*) .
Angenommen, du hast die Zeichenkette „apple orange banana" und möchtest die Positionen der ersten beiden Wörter tauschen. Verwende das Muster ([a-z]+) [a-z]+ ([a-z]+) und ersetze es durch $2 $1 , um „orange apple banana" zu erhalten.
Text extrahieren
Anstatt zu extrahieren, kannst du einfach den Teil der Zeichenkette abgleichen, der verwendet werden soll. Am besten eignet sich dies in Kombination mit Regulären Ausdrücken, da die erste Capture-Gruppe extrahiert wird.
Aufbauend auf dem obigen Beispiel mit „apple orange banana" liefert [a-z]+ ([a-z]+) [a-z]+ nur das mittlere Wort – „orange".
Werte zuordnen
Für bestimmte Eigenschaften wie Asset oder Transaktionstyp kannst du den Wert auch von einem in einen anderen umwandeln. Klicke auf das umgekehrte S Symbol neben fx an, um eine Zuordnung hinzuzufügen.
Die Zuordnung prüft, ob der eingehende Wert einen Vergleich besteht. Wenn ja, wird der ausgewählte Wert verwendet. Zuordnungen werden der Reihe nach geprüft, und die erste zutreffende gewinnt.

Werte zwischen Typen umwandeln
Eigenschaften können nicht übereinstimmende Typen haben. Ein Text wird beispielsweise automatisch in eine Zahl oder ein Datum umgewandelt, sofern er einen sinnvollen Wert enthält (z. B. 2024-11-01 oder 1st Nov 2024).
Das funktioniert auch für Konten, Währungen, Märkte oder Transaktionstypen, wobei jeder Textwert zur Suche in den Projekt- oder Marktdaten verwendet wird.
Für Assets kannst du zusätzlich festlegen, welche Asset-Typen und Märkte einbezogen werden sollen und in welcher Reihenfolge — search in asset types und search in markets — sowie search remote assets, womit entschieden wird, ob die Suche über dein Projekt hinaus in den Marktkatalog hineinreicht.
Jedes dieser Felder akzeptiert eine Spalte oder eine Formel, nicht nur einen festen Wert. Sobald dies der Fall ist, enthält es dieselben fx-Transformationen und invertierten S-Mappings wie eine Set-Anweisung. So kann beispielsweise das Suffix eines Broker-Tickers entfernt werden (AAPL.US → AAPL) oder die dateieigenen Asset-Typ-Namen können vor der Suche denjenigen von Capitally zugeordnet werden. Wenn du wieder einen festen Wert in das Feld eingibst, gehen diese Transformationen verloren.

Details und benutzerdefinierte Asset-Einrichtung bei einer Asset-Zuordnung enthält drei weitere Ausdrücke — asset name, symbol und ISIN. Sie erweitern die Suche, sodass eine Zeile, deren Suchwert leer ist, das Asset immer noch über seinen Namen oder seine ISIN findet, und sie beschreiben das benutzerdefinierte Asset, das angeboten wird, wenn kein Treffer erzielt wird. Die darunter liegenden Anweisungen gestalten dieses Asset weiter aus, wobei nur die verfügbaren Optionen zur Auswahl stehen: If, Set, Variable, Block, Beenden, Kommentar, Asset-Taxonomien aktualisieren, Wertbasierte Preise, Zinsbasierte Preisberechnung verwenden, Zinsparameter festlegen und Zinsparameter hinzufügen. Sie lesen die Zeile, schreiben jedoch nur das im Entwurf befindliche Asset, daher darf Zinsparameter hinzufügen dort kein Asset benennen. Eine Konto-Zuordnung enthält die gleiche Art von Block unter Benutzerdefinierte Kontoeinrichtung.
Keiner der Blöcke schreibt von sich aus in das Projekt. Er bereitet einen Entwurf vor, und das Asset oder Konto wird erst erstellt, wenn während des Imports auf den Button Erstellen der nicht zugeordneten Zeile geklickt wird.
Eine Zuordnung zu einer Marktdatenquelle hat ein eigenes Steuerelement: einen optional-Schalter, der in der App als use manual prices instead of failing beschrieben wird. Wenn er ausgeschaltet ist, führt ein Symbol, das nicht im Katalog von Capitally enthalten ist, zu einem Fehler in der Zeile. Wenn er eingeschaltet ist, wird die Zeile importiert und das Asset bleibt ohne Preisquelle, sodass du den Preis manuell festlegst. Es wird nur ein bestätigter Fehlschlag abgedeckt — eine fehlerhafte oder noch ausstehende Suche stoppt die Zeile weiterhin.
Variablen definieren
Wie bei jeder Skriptsprache kannst du eine Variable definieren, die einen Wert speichert, der später wiederverwendet werden soll. Jede Variable hat einen bestimmten Typ und einen Anfangswert. Einmal definiert, kann sie wie jede andere Eigenschaft referenziert oder gesetzt werden.
Standardmäßig sind alle Variablen lokal – das bedeutet, sie sind nur innerhalb des Blocks verfügbar, in dem sie deklariert wurden (einschließlich verschachtelter Blöcke), und nur nach ihrer Deklaration.
Du kannst sie auf geteiltumschalten, was bedeutet, dass ihr Wert nur einmal initialisiert wird und nicht nur innerhalb des gesamten Programms verfügbar ist, sondern auch zwischen dessen Ausführungen – etwa für jede Zeile eines Imports oder jedes Steuerereignis.

Kommentare
Berechnungen sind nur dann hilfreich, wenn du die Zahlen nachvollziehen kannst. Du kannst überall in der Voreinstellung reich formatierte Kommentare hinzufügen, um die Logik besser zu beschreiben.
