Datastores
Datastore
In Datastores kann man Daten tabellarisch speichern, ähnlich wie in Excel-Tabellen. Die verfügbaren Spalten werden durch sog. Schemas frei definiert. Die Daten können entweder einzeln per Hand eingetragen werden oder als Datei importiert werden. Der Import kann manuell im Browser oder automatisiert durch einen Flow gestartet werden. Sobald die Daten importiert sind, können sie durch die umfangreichen Such- und Filtermöglichkeiten durchsucht werden.
Datastores unterstützen auch die Speicherung hierarchischer Daten wie z.B. Artikel mit Artikelvarianten oder Aufträge mit Auftragspositionen abbilden.
Importierte Daten lassen sich auch wieder exportieren. Dies kann entweder manuell oder automatisiert per Flow erfolgen. Beide Exportmöglichkeiten erlauben eine umfangreiche Umwandlung und Anpassung durch den Mapper SpreadsheetMapper.
Schema
Mit einem Schema kann man in Synesty Studio eine Datenstruktur definieren, welche in Spreadsheets und Datastores Anwendung findet.
Für Datastores beschreiben Schemas die Spalten, deren Inhalt und Datentyp. Ein Schema wird zur Erstellung von Datastores benötigt und kann auch zur Erstellung mehrerer Datastores wiederverwendet werden. Sie können ein eigenes Schema erstellen oder auf fertige Schemas zurückgreifen.
Mit Hilfe eines definierten Schemas können vorhandene bzw. importierte Daten analysiert und validiert werden. Für jedes Feld können gültige Werte, entweder durch Eingabe von Pattern (Muster) oder durch Eingabe von erlaubten Werten, festgelegt werden.
Um ein neues Schema manuell zu erstellen, navigieren Sie zu Datastores → Schema und nutzen dort den "Schema erstellen" Button. Hier sehen Sie ebenfalls all ihre angelegten Schemas dieses Workspaces.
Um ein vordefiniertes Schema zu nutzen, wählen Sie in der entsprechenden Auswahl das gewünschte Schema aus und klicken anschließend auf den "Erstellen" Button. Ein solches Schema kann nicht verändert werden.
Hinweis
Einige Steps benötigen einen Datastore mit einem fest definierten Schema. Beachten Sie dazu die Hinweise in der jeweiligen Step Beschreibung.
Schema automatisch erstellen
Alternativ zur manuellen Erstellung, kann man einen neuen Datastore auch durch einen Import erzeugen. Dabei wird das Schema automatisch erstellt. Das ist praktisch, wenn das benötigte Schema sehr viele Spalten hat, deren manuelle Erstellung sehr zeitaufwendig wäre. Erstellen Sie dazu einfach den Datastore durch einen Import einer CSV-Datei (manuell oder per Flow) und es wird ein Schema mit allen Spalten der CSV-Datei angelegt.
Schema konfigurieren
Eigenschaft | Beschreibung | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Position | Die Position des Felds (beginnend bei 0). Sie haben mehrere Möglichkeiten ein Feld zu verschieben:
| ||||||||||||||||||||
Name | Der Name des Feldes. | ||||||||||||||||||||
Art des Inhalts (Content-Type) | Beschreibt den Inhalt des Feldes genauer. Diese Einstellung hat Einfluss auf die Feld-Validierung und Anzeige im Backend.
| ||||||||||||||||||||
Pflichtfeld | Gibt an, ob das Feld ein Pflichtfeld ist oder nicht. Auswirkung: Wenn der Feldinhalt leer ist, dann wird im Datastore-Backend und im Mapper Step eine Warnung angezeigt. | ||||||||||||||||||||
Erweiterte Optionen | Zeigt die am Feld hinterlegten erweiterten Optionen an. |
Über das Icon kann jedes Feld noch genauer konfiguriert werden.
Eigenschaft | Beschreibung | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Eigenschaft | Beschreibung | |||||||||
Art des Inhalts (Content Type) | Siehe Schema Konfiguration | |||||||||
Typ | Hier kann der generelle Datentyp der Spalte eingestellt werden. (Standardwert: SINGLE) SINGLE - sagt, dass hier ein einfacher / einzelner Wert gespeichert ist. MULTIPLEVALUE - sagt, dass die Werte in diesem Feld eine Liste darstellen. Die Listenelemente sind durch ein definiertes Trennzeichen separiert, z.B. :
Auf Zellen dieses Typs lassen sich im Mapper Step die Hilfs-Funktionen .at(position), .equalsAll("wert") oder .contains("teilstring") nutzen. Beispiele:
MAP - sagt, dass es sich um eine sog. Map aus Schlüssel-Wert-Paaren handelt (z.B. auch bekannt als Hashmap). Dies wird gern zum Abbilden von Produktattributen verwendet, z.B.:
Auf Zellen dieses Typs lassen sich im Mapper Step die Hilfs-Funktionen .at("key") , .containsKey("key") oder .containsKeysAll("key1", "key2") nutzen, um auf einzelne Listenelemente zuzugreifen, oder zu prüfen, ob ein Wert in der Liste enthalten ist. Beispiele:
| |||||||||
Trennzeichen | Nur relevant wenn Typ=MULTIPLEVALUE oder MAP ist. | |||||||||
Pflichtfeld | Siehe Schema Konfiguration | |||||||||
RegEx Pattern | Ein regulärer Ausdruck (RegEx) der den Feldinhalt beschreibt. Sollte der Feldinhalt nicht dem Ausdruck entsprechen, dann wird im Datastore-Backend und im Mapper Step eine Warnung angezeigt und farbig hinterlegt. Das RegEx-Pattern wird inline validiert. Ungültige Pattern werden direkt angezeigt. | |||||||||
Erlaubte Werte und Beispiel Werte | Erlaubte Werte: Ist der Schalter aktiviert, werden die Felder, in denen Erlaubte Werte konfiguriert sind, validiert. Beispiel Werte: Ist der Schalter deaktiviert, werden die Felder nicht validiert. Die hinterlegten Werte dienen nur als Beispiel und können abweichen. Das ist sinnvoll wenn dynamische Parameter gesetzt werden die einer bestimmten Form entsprechen müssen. Einstellungen: Hier können selbstdefinierte Wert → Label Paare hinterlegt werden. Mit erlaubten Werten, können Sie für ein Feld selbstdefinierte Werte generieren und den Feldinhalt entsprechend validieren. Sie haben alternativ auch die Möglichkeit keine Werte vorzugeben, aber zumindest einen Standardwert zu definieren. Außerdem können Beschreibungen für die einzelnen Wert-Label-Paare hinterlegt werden, die im Mapper angezeigt werden. Die Value-Werte der Erlaubten und Beispielwerte werden überprüft um Dopplungen zu vermeiden. Doppelte Werte können dennoch weiterhin gespeichert werden. Nur Zeilen in denen der Value-Wert leer ist, werden beim Speichern automatisch entfernt. Sind RegEx-Pattern ungültig oder gibt es Dopplungen bei den Erlaubten/Beispiel Werten, wird das bereits in der Schema-Gesamtansicht angezeigt. Schema laden im Mapper Step Wenn Sie im Mapper Step das Schema laden, dann wird eine Auswahl "Erlaubte Werte" oder "Beispiel Werte" angezeigt. Der Standardwert wird dabei hervorgehoben (unterstrichen). Sollte der Feldinhalt nicht dem Ausdruck entsprechen, dann wird im Datastore-Backend und im Mapper Step eine Warnung angezeigt wie z.B.: |
Pattern
Pattern (Muster) legen fest, welche zulässige Struktur ein Wert haben darf. Diese Pattern werden durch Eintrag der entsprechenden RegEx (regular expression - Regulärer Ausdruck) am Feld festgelegt.
Zum Testen von Patterns gibt es verschiedene Programme im Internet. Wir empfehlen https://regex101.com/.
Anwendungsbeispiele für Patterns
Diese Liste enthält einige Beispiele für Patterns, welche für Prüfungen von Werten in einer Spalte verwendet werden können.
Bitte beachten, dass es oft mehrere Lösungen für eine RegEx geben kann.
Format | Beschreibung | RegEx |
---|---|---|
Textlänge (255) | Zulässige Längenbegrenzung z.B. eines Produktnamens auf 255 Zeichen. Produktname soll mindesten 5 Zeichen haben. | ^.{5,255}$ |
Dezimalzahl | Prüfung, ob Wert eine Dezimalzahl ist. Dies findet Anwendung bei z.B. Preisangaben. Es müssen immer genau 2 Stellen nach dem Trenner (hier im Beispiel Punkt) angegeben werden. Beispiel für gültige Werte 49.99, 0.29, 299.00 | ^\d+.\d{2}$ |
Postleitzahl | 5 stellige Postleitzahl für Deutschland | ^\d{5}$ |
EAN13 | 13 stellige EAN Nummer | ^\d{13}$ |
e-mail Adresse | Prüfung auf gültige e-mail Adresse mit 2 oder 3 Zeichen am Ende (z.B. .de oder .com) Beispiel für gültige Werte: info@synesty.com , info-center@test_1-2.de | ^[a-zA-Z0-9_-.]+@[a-zA-Z0-9_-.]+.[a-zA-Z0-9]{2,3}$ |
IPv4 Adresse | Prüfen auf gültige IP Adresse im IPv4 Format Beispiel für gültigen Wert: 123.10.0.182 | ^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})$ |
Erlaubte Werte | Erlaubte Werte prüfen. Z.B. Gewichtsangaben "g", "kg, "oz", or "lb" Diese Werte können auch direkt bei Erlaubte Werte eingetragen werden. | ^(kg |
ImageURL | ImageURL mit erlaubten Imageformaten (Bsp. jpg, gif und png) prüfen | ^([Hh][Tt][Tt][Pp][Ss]?:\//[a-zA-Z0-9_-./]+.(jpg |
Numerisches Feld | Spalte darf beliebige Anzahl von Zahlen enthalten (z.B. numerische Produktnummer) . Beispiel für gültige Werte: 2348535, 001, 110012 | ^\d+$ |
Schema | Schema für z.B. Produktnummer. Beispiel für gültige Werte: 23-48535.1 , 23-48535.12 , 23-48535.123 | ^\d{2}-\d{5}.\d{1,3}$ |
Preisangabe Variante 1 | Die zulässige Preisangabe ist entweder ein Zahl ohne Nachkommastelle ODER mit Nachkommastelle wobei es eine oder zei Nachkommastellen geben kann. Beispiel für gültige Werte: 49 oder 99,99 oder 24,9 | ^(\d+)$ |
Preisangabe Variante 2 | Preisangabe mit 2 festen Nachkommastellen Beispiel für gültige Werte: 123,99 oder 24,49 | ^\d+,\d{2}$ |
Preisangabe Variante 3 | Preisangabe mit 2 festen Nachkommastellen gefolgt von einem Leerzeichen und Währungsangabe nach ISO 4217 CodeHinweis: Es wird nur die Struktur geprüft. Die Richtigkeit des Währungssymbols wird nicht geprüft. Beispiel für gültige Werte: 123,99 EUR oder 24,49 CHF | ^\d+,\d{2}\s[A-Z]{3}$ |
Datenvalidierung
Schemas für Datenvalidierung nutzen
Validierung im Datastore
Im Datastore werden invalide Zellen, die nicht dem Schema entsprechen rot markiert und hovert man mit der Maus über die entsprechende Zeile, kommt eine kurze Erläuterung. Das ganze wird auch in der Detailansicht angezeigt.
Validierung im Mapper Step
Auch im Mapper Step kann man Informationen aus dem Schema nutzen.
Dazu kann man die Funktion "Schema Laden" nutzen, um ein Schema quasi über einen Mapper "drüber" zu legen. Dadurch werden die aktuellen Daten validiert und z.B. auch die erlaubten Werte sichtbar.
Mehr dazu unter Mapper Step - Ziel-Schema laden.
Ein paar Beispiele
Art des Inhalts (Content-Type)
Konfiguration im Schema
Validierungsergebnis Datastore
Validierungsergebnis Mapper Step
Pattern (RegEx überprüfung des Werts)
Konfiguration im Schema
Validierungsergebnis Datastore
Validierungsergebnis Mapper Step
Elaubte Werte (Vordefinierte erlaubte Werte für den Inhalt)
Konfiguration im Schema
Validierungsergebnis Datastore
Validierungsergebnis Mapper Step
Einen neuen Datastore erstellen
Hinweis
Um einen neue Datastore zu erstellen zu können, wird immer ein Datastore-Schema benötigt. Wenn ein entsprechendes noch nicht vorhanden ist, sollten Sie mit der Erstellung des Schemas beginnen.
Einen neuen Datastore können Sie über den Menüpunkt Data Managements -> Datastores → "Neuer Datastore" Button anlegen.
Der Name des Datastore kann beliebig gewählt werden. Wählen Sie anschließen den Typ und das Schema des neuen Datastores aus.
Wenn Sie einen Child Datastore erstellen, muss zusätzlich ein vorhandener Master Datastore ausgewählt werden (siehe Master-Child). Erstellen Sie deshalb immer zuerst den Master Datastore.
Interne Spalten
Jeder Datensatz (Datastore Record) hat einige feste, interne Spalten, die immer vorhanden sind. Diese spielen vor allem beim Import und Export eine Rolle. Diese Spalten kann man in Identifier- und Status-Spalten unterscheiden.
Identifier-Spalten
Die Identifier-Spalten dienen der eindeutigen Zuordnung von Datensätzen und deren Beziehungen zu anderen Datensätze (Master-Child und Parent-Variant). Alle Pflichtfelder müssen bei Imports oder Updates gefüllt werden, damit die Datensätze identifiziert werden können. Die optionalen Spalten dienen hauptsächlich der Verknüpfung von Datensätzen mit anderen Datensätzen.
Identifier2 und Identifier3
Ein Beispiel-Einsatz der Spalten identifier2 und identifier3 ist z.B. wenn es um Artikeldaten geht, die in 2 getrennten Systemen unterschiedliche IDs / Nummern haben.
Die identifier-Belegung in Synesty Studio könnte dann aussehen wie folgt:
- identifier = eindeutige SKU der Warenwirtschaft
- identifer2 = eindeutige Artikelnummer des Shopsystems
- identifier3 = EAN des Artikels
Name | Beschreibung |
---|---|
datastorename (Pflichtfeld) | Name des Datastores in den importiert werden soll. |
folder (Pflichtfeld) | Bezeichnung für den Ordner, zur Gruppierung. Der folder ist Teil des Primärschlüssels eines Datensatzes. Default-Wert (wenn leer oder nicht vorhanden): default |
identifier (Pflichtfeld) | Eindeutiger Bezeichner des Datensatzes. z.B. Artikelnummer, SKU. Muss zusammen mit folder in einem Datastore eindeutig sein. folder: meinordner1 |
identifier2 (Optional) | Optionaler Identifier der für weitere Schlüssel (z.B. Lieferanten-Artikelnummer) verwendet werden kann. Der identifier2 kann in der Querverweis Funktion verwendet werden, um einen Datensatz zu identifizieren. Default-Wert: <leer> |
identifier3 (Optional) | Optionaler Identifier der für weitere Schlüssel (z.B. EAN) verwendet werden kann. Der identifier3 kann in der Querverweis Funktion verwendet werden, um einen Datensatz zu identifizieren. Default-Wert: <leer> |
parent_identifier (Optional) | Der identifier des referenzierten Parent Datensatzes im gleichen Datastore und Folder. Wenn gesetzt, dann wird dieser Datensatz mit dem Parent verknüpft und bildet einen Datensatz vom Typ "Variant". Default-Wert: <leer> |
master_datastore (Optional) | Nur für Child-Datastores. (master_datastore, master_folder und master_identifer müssen zusammen den referenzierten Master-Datensatz beschreiben.) |
master_folder (Optional) | Nur für Child-Datastores. (master_datastore, master_folder und master_identifer müssen zusammen den referenzierten Master-Datensatz beschreiben.) |
master_identifier (Optional) | Nur für Child-Datastores. (master_datastore, master_folder und master_identifer müssen zusammen den referenzierten Master-Datensatz beschreiben.) |
Status-Spalten
Die Status-Spalten dienen der Anzeige im Datastore und können zur Filterung genutzt werden.
Name | Beschreibung |
---|---|
Created | Diese Spalte gibt das Erstellungsdatum des Datensatzes an. |
Updated | Diese Spalte gibt das Datum des letzten Updates an. (muss nicht zwingend eine Änderung des Inhalts bedeuten, wenn der gleiche Datensatz importiert wurde) |
LastContentChanged | Diese Spalte gibt das Datum der letzten Änderung des Inhalts an. (Spalte des Schemas, nicht interne-Spalte) |
Processing Status | Diese Spalte gibt den Verarbeitungsstatus eines Datensatzes an. Mögliche Werte sind: UNPROCESSED, INPROCESS, PROCESSED_ERROR, PROCESSED_SUCCESS Diese Werte werden meist von Steps gesetzt, die Datensätze eines Datastores direkt verarbeiten, z.B. PlentyAddOrders |
Processed | Diese Spalte gibt das Datum der Verarbeitung an. (wann wurde der Processing Status geändert) |
Daten bearbeiten
Es gibt einge Möglichkeiten wie man Datensätze bearbeiten kann.
Datensatz-Detailansicht
Über das Auge-Symbol in der Suche gelangt man zur Detail-Ansicht.
Anschließen auf "Daten bearbeiten" um in den Editiermodus zu gelangen.
Bei Änderungen wird der Wert vor der Änderung noch mit angezeigt. Dies ist oft bei der Fehlersuche hilfreich, wenn man herausfinden will, was und wann sich ein Datensatz geändert hat.
Inline-Editing direkt im Suchergebnis
Durch Doppelklick auf einen Spaltenwert oder den Namen der Spalte im Suchergebnis des Datastores, kann man die Felder einer Zeile direkt editieren. Das ist praktisch, wenn man schnell Änderungen durchführen, ohne erst in die Detailansicht zu wechseln.
Massen-Bearbeiten
Eine spezielle Funktion ist das Massen-Bearbeiten, dass unter Aktionen / Bearbeiten erklärt wird.
Verarbeitungsstatus ändern
Aktualisiert den PROCESSING STATUS der selektierten Items. Das kann z.B. nützlich sein, um einen Datenexport erneut anzutriggern, wenn dieser z.B. den betroffenen Datensatz nach fehlgeschlagenem Export auf PROCESSED_ERROR gestellt hat. In diesem Fall würde man vermutlich den Datensatz wieder auf UNPROCESSED zurücksetzen.
Hierarchische Daten
Datastores erlauben es Daten hierarchisch abzuspeichern. Dabei unterscheiden wir zwischen zwei verschiedenen Konzepten:
- Parent-Variant
- Master-Child
Wenn wir von hierarchischen Daten und Parent-Variant Import sprechen, dann meinen wir damit den Import von Daten, zwischen denen es eine Eltern-Kind Beziehung (z.B. Stamm-Artikel und dazugehörige Varianten) gibt und die sich im gleichen Datastore befinden.
Master-Child ist sehr ähnlich zu Parent-Variant. Beide Konzepte beschreiben eine Eltern-Kind-Beziehung, aber mit folgenden Unterschieden:
- Bei Parent-Variant liegen die Datensätze im selben Datastore
- dadurch haben Parent- und Variant-Datensätze das gleiche Schema
- bei Master-Child liegen Datensätze in unterschiedlichen Datastores
- dadurch können Master- und Child-Datensätze unterschiedliche Schemas verwenden
Wir haben uns für diese 2 unterschiedlichen Begriffe entschieden, um diese beiden Konzepte auseinander halten zu können.
Mehr dazu auf der Seite Datastore Import und Export.
Datenimport und -export
Das Thema Import und Export wird auf der Seite Datastore Import und Export ausgiebig behandelt.
Export hierarchischer Daten mit Zugriff auf Parent / Master Zeile
Hierarchische Daten mit Zugriff auf Parent / Master Zeile exportieren
Wir empfehlen auch den Abschnitt Spreadsheets - Auf Relationen zugreifen, der beschreibt, wie man beim Export hierarchischer Daten auf die Parent- bzw. Master-Zeile zugreift. Das ist nützlich wenn man z.B. Auftragspositionen mit Daten aus dem Auftragskopf anreichern möchte.
Datensätze exportieren
Alle Einträge (mit sämtlichen Spalten) des Datastores können als CSV-Datei heruntergeladen werden.
Backup und Wiederherstellung (Backup / Restore)
Unter Datastore-Einstellungen finden Sie die Punkte Backup erstellen und Backup wiederherstellen.
Damit kann ein Datastore als ZIP-Datei mit samt Schema gesichert und wieder eingespielt werden.
Datastore-Backup automatisieren
Ein Datastore-Backup kann mit dem Step Datastore-Backup auch per Flow automatisiert werden.
Suche
Die Suche ist der zentrale Anlaufpunkt für jegliche Interaktion mit einem Datastore. Sie erlaubt neben der klassischen Suche über einen Suchbegriff die Anwendung verschiedenster Filter, um Daten zu finden und zu selektieren.
Suchfilter
Suchbegriff
Durchsucht den Datastore nach Datensätzen, die in einem Feld die eingegebenen Zeichenfolge (den Suchbegriff) enthalten.
Folder
Grenzt die Suche auf einen oder mehrere Folder ein.
Child Filter
Zeigt Datensätze abhängig davon, ob sie Child-Datensätze in einem Child-Datastore besitzen oder nicht. (Nur sichtbar bei Master-Datastores mit mindestens einem Child-Datastore)
- Alle (keine Einschränkung)
- Datensätze mit Children
- Datensätze ohne Children
Child-Filter
Findet Datensätze, zu denen es Datensätze im Child-Datastore gibt, oder umgekehrt. Dieser Filter ist nur bei Master-Datastores sinnvoll, zu denen es Datensätze in Child-Datastores gibt.
Level Filter (Datensatztyp Parent/Variant)
Zeigt Datensätze abhängig von ihrer Positionen in der Parent-Variant Hierarchie.
- Parents+Varianten (ungeordnet) - zeigt alle Datensätze an (ungeordnet)
- Parents (erst Parents + Varianten) - Zeigt als oberstes den Parent, darunter die Varianten an
- Parents (nur Parents) - zeigt nur Parent Datensätze, also der 1. Ebene
- Varianten oder Parents ohne Varianten - zeigt nur die unterste Hierarchieebene, d.h. entweder Varianten oder Parents die keine Varianten haben.
- Nur Varianten - zeigt nur Varianten. D.h. ausschließlich Varianten, die einen Parent haben, nicht aber Parents, die keine Varianten haben.
Level Filter (Parent/Variant Status)
Findet Datensätze in Abhängigkeit davon, ob es Variant-Items gibt oder nicht.
- Alle - keine Einschränkung
- Parents mit Varianten - findet alle Datensätze, die auch Varianten haben (Varianten haben den Identifier des Parents als parent_id)
- Parents ohne Varianten - findet alle Datensätze, die keine Varianten haben
Processing Filter
Findet Datensätze mit einem bestimmten PROCESSING-Status.
- Alle - keine Einschränkung
- UNPROCESSED - nur unverarbeitete Datensätze
- INPROCESS - nur Datensätze, die in Bearbeitung sind
- PROCESSED SUCCESS - erfolgreich bearbeitete Datensätze
- PROCESSED ERROR - fehlerhaft bearbeitete Datensätze
- PROCESS_MARK_DELETE - Datensätze die als "zum Löschen freigegeben" markiert wurden
Der Processing Status kann folgendermaßen gesetzt werden:
- Datastore Suche / Actions / Reset Processing Status
- DatastoreWriter Step
- einige andere Steps, die direkt auf Datastores arbeiten (z.B. Plentymarkets AddOrders Step)
Sortierung
Sortiert die Ergebnisliste nach folgenden Spalten, wahlweise in absteigender oder aufsteigender Richtung:
- Erstellungsdatum
- Aktualisierungsdatum
- Datum der letzten Inhaltsänderung
- Datum der Verarbeitung - nach Verarbeitungsdatum
- Identifier - 1,2 oder 3
- Folder
- Tags
Datensatztyp
- Parents+Varianten (ungeordnet)
- Parents (erst Parents + Varianten)
- Parents (nur Parents)
- Varianten oder Parents ohne Varianten
- nur Varianten
Freemarker Filter
Hier kann ein Freemarker (siehe Scripting) Ausdruck zur Filterung der Datensätze verwendet werden. Beispiel: stock == "2"
Der Beispielfilter zeigt nur Datensätze an die in der Spalte stock einen Wert von "2" besitzen.
Über das "+" Zeichen erhalten Sie eine kleine Auswahl vorgefertigter Filter.
Datums Filter
Findet nur Datensätze, bei denen die gewählte Datumsspalte in einem bestimmten Zeitraum liegt.
- Erstellungsdatum
- Aktualisierungsdatum
- Datum der letzten Verarbeitung
- Datum der letzten Inhaltsänderung - Dieses Datum wird nur aktualisiert, wenn sich wirklich eines der Felder durch ein Update verändert hat.
Tagfilter
Hier können Datensätze danach gefiltert werden, ob ausgewählte Tags gesetzt sind oder nicht.
Identifier 1, 2 & 3
Hier kann nach verschiedenen Identifiern gefiltert werden.
Flow-Run-ID Filter
Findet Datensätze, die durch einen bestimmten Flow-Run im Rahmen eines ausgeführten Flows "angefasst" wurden. Angenommen ein Datenimport Flow hat ein Feld eines Datensatzes geändert, dann wird im Datensatz die ID des Flow-Runs gespeichert, im Rahmen dessen die Änderung gemacht wurde.
In der Datensatz Detailansicht wird dies durch "Importiert durch Flowrun" gekennzeichnet.
Nützlich ist diese Funktion, um alle Datensätze zu identifizieren, die durch einen bestimmten Flow-Run aktualisiert wurden.
In vielen Fällen noch wichtiger ist es, alle Datensätze zu identifizieren, die NICHT durch einen bestimmten Flow-Run "angefasst" wurden. Diese Datensätze sind dabei oft Datenleichen, also Datensätze, die z.B. von einem externen System NICHT MEHR mitgeschickt werden (z.B. ausgelaufene Artikel). Diese Datensätze will man in der Regel finden und löschen bzw. als inaktiv markieren oder Bestand null setzen.
Zeige Children
Zeigt zusätzlich zu den Datensätzen des derzeit aktuellen Datastores auch die Child - Datensätze an.
Daten validieren
Zeigt Datensätze abhängig vom Validierungsstatus:
Der Validierungsstatus wird beim Speichern (Import, Anlegen und Update) eines Datesatzes anhand der im Schema hinterlegten Informationen ermittelt. Wenn im Schema z.B. ein Feld als Pflichtfeld definiert wurde, aber beim Import leer ist, dann wird der ganze Datensatz als ungültig (Invalid) markiert. Bei der Suche erscheinen die invaliden Felder rot hinterlegt.
Aktionen
Aktionen werden auch als Massen-Update oder Gruppenfunktionen bezeichnet und stellen Funktionen im Datastore bereit, die auf mehrere Datensätze gleichzeitig angewendet werden können.
Dabei lassen sich die Aktionen nur auf selektierte Datensätze oder auf das gesamte Suchergebnis anwenden. Letzteres bedeutet, dass auch Datensätze von der Aktion erfasst werden, die nicht auf der aktuellen Suchergebnisseite angezeigt werden. Bei solchen Aktionen darf kein Datensatz selektiert sein.
Hinweis
Die Exportfunktion exportiert alle markierten Suchergebnisse oder alle Suchergebnisse, wenn keines markiert ist.
Daten bearbeiten
Die Bearbeiten Funktion ermöglicht die Änderung von Werten selektierter Datensätze (Massen Update). Wählen Sie eine oder mehrere Spalten aus in denen Werte geändert werden sollen. Anschließend gelangen Sie in die Transformy Ansicht und können hier Änderungen der Werte vornehmen.
Bestätigen Sie die Änderungen durch drücken des "Start Update" Buttons.
Daten löschen
Achtung
Vor dem Löschen von Datensätzen in Datastores sollte vorher ein Backup angelegt werden: Datensätze exportieren / Backup und Wiederherstellung Damit können durch Fehlkonfiguration beim Löschvorgang verlorene Datensätze wieder hergestellt werden.
Entfernt die selektierten Datensätze.
Hinweis
Die Löschen Aktion kann nur auf selektierte Datensätze angewendet werden.
Achtung
Das Löschen kann nicht rückgängig gemacht werden.
Folder Löschen
Entfernt alle Datensätze eines selbst gewählten Folders und diversen optionalen Filtern.
Datastore leeren
Entfernt alle Datensätze dieses Datastores.
Vorgehen beim leeren des Datastores:
1. Zusätzliche Optionen wählen (optional):
Sie haben die Möglichkeit, die zu löschenden Datensätze nach bestimmten Merkmalen einzugrenzen:
Kompletten Datastore leeren
Um den gesamten Datastore zu leeren, gehen Sie direkt zu 2. über.
- Löschen von Datensätzen mit einen bestimmten Verarbeitungsstatus:
- UNPROCESSED
- INPROCESSED
- PROCESSED SUCCESS
- PROCESSED ERROR
- PROCESSED MARK_DELETE
- Eingrenzung der Datenzeilen durch einen Datumsfilter:
- Erstellungsdatum
- letzte Aktualisierung
- letzte InhaltsänderungNach Auswahl des Filter-Kriteriums, tragen Sie bitte noch das gewünschte Start- und/oder Enddatum ein.
2. Vorschau anzeigen und kontrollieren
Nach Eingabe aller gewünschten Optionen, klicken Sie auf "Vorschau vor Löschen" um sich ein Preview der zu löschenden Daten anzuzeigen.
Hinweis
Die Vorschau der zu löschenden Daten wird in einen neuen Browser-Tab geöffnet.
3. Daten löschen
Nach Kontrolle der Datenzeilen, kehren Sie in das ursprüngliche Browser-Tab zurück. Nun können Sie die Daten, falls gewünscht, durch Klick auf "Jetzt unwiderruflich löschen" aus dem Datastore entfernen.
Suchfilter speichern
Ein erstellter Suchfilter aus allen oben genannten Möglichkeiten kann mit unter einem frei wählbaren Namen gespeichert werden, um ihn später mit einem Klick wieder aufzurufen.
Hierzu rufen Sie Filter → gespeicherte Suchfilter → Aktuelle Suchfilter speichern auf:
Und vergeben einen Namen, z.B. "Neue Bestellungen ohne PLZ"
Anschließend ist der Filter unter diesen Namen jederzeit und in jedem Datastore abrufbar:
Schnellsuche Vorlagen
Die Schnellsuche bietet auch einige vorgefertigte und häufig genutzte Suchfilter unter Vorlagen.
Spalten-Funktionen
Eindeutige Werte
Oft möchte man wissen, wie viele eindeutige Werte eine bestimmte Spalte hat. Das spielt immer dann eine Rolle, wenn man diese Werte z.B. für Zuordnungstabellen (Mappingsets in Synesty Studio) braucht.
Beispiel: "Wie viele eindeutige Kategorien habe ich?"
D.h. angenommen man hat einen Katalog mit 20000 Artikeln, die sich auf 105 verschiedene Kategorien aufteilen. Wenn man nun eine Liste genau dieser 105 eindeutigen Kategoriepfade wissen möchte, dann kann man diese Funktion benutzen.
Das "Eindeutige Werte" Feature entspricht der aus SQL-Datenbanken bekannten DISTINCT() Funktion und dient dazu die eindeutigen / unterschiedlichen Werte einer gewählten Spalte über alle Datensätze zu ermitteln.
Der Screenshot zeigt, dass es pro "brandname" jeweils einen Datensatz gibt.
Datastore Management
Hinter dem Menüpunkt Datastore-Management finden Sie Konfigurationseinstellungen für einen Datastore.
Diese stehen ab dem Plus-Paket zur Verfügung.
Automatisches Löschen von Datensätzen
Die automatische Löschfunktion erlaubt Ihnen Datensätze automatisch zu entfernen, welche älter als X Tage sind, bezogen auf das gewählte Datumsfeld. Optional kann die Löschung noch auf ein oder mehrere Processing-Status eingeschränkt werden. Der Löschvorgang läuft regelmäßig im Hintergrund.
Daten frühstmöglich löschen
Um Datenzeilen direkt zu löschen, stellen Sie den Zeitraum auf "0 Tage" ('Sofort löschen'). Bitte beachten Sie, dass es einige Minuten dauern kann bis die Datenzeilen wirklich gelöscht sind.
Wann brauche ich das?
Immer wenn Sie sehr alte Datensätze automatisch löschen oder Daten nicht sehr lange in Datastores speichern wollen. Wenn Datensätze durch diese Funktion entfernt wurden, finden Sie einen Eintrag im System Log.
Einträge für "Auto-Removal" müssen erst aktiviert werden
Aus Performance-Gründen werden die Einträge für das automatische Löschen standardmäßig herausgefiltert. Aktivieren Sie diese einfach durch Klick auf den Link in der Hinweisbox.
Änderungs-Tracking konfigurieren und Felder ausschließen
Was ist Änderungs-Tracking?
Wenn Sie bereits Datastores nutzen, dann kennen Sie das Feld LastContentChanged, den jeder Datensatz besitzt.
Änderungs-Tracking erkennt inhaltliche Änderungen an Datensätzen. Jedes mal wenn sich ein Feld inhaltlich ändert, wird das Feld LastContentChanged des Datensatzes aktualisiert.
Dieses Verhalten ist automatisch für ALLE Felder aktiv.
Neu ist ab jetzt, dass dieses Verhalten konfigurierbar ist, und dass man bestimmte Felder vom Änderungs-Tracking ausschließen kann.
Wann brauche ich das?
Angenommen Sie haben eine Artikeldatenbank. Sie wollen dass ein Datensatz nur als geändert markiert wird, wenn sich Bestand (stock) oder Preis (price) geändert hat, nicht aber wenn sich das Feld Beschreibung ändert.
In diesem Fall, würden Sie alle Felder außer stock und price ausschließen.
Ein Folgeprozess eines Bestandsupdates kann damit wesentlich effizienter gestaltet werden, da der Datensatz nur noch als "inhaltlich geändert" markiert wird, wenn sich stock oder price geändert haben, und nicht mehr bei jeder Feldänderung.
Mapping Set
Ebenfalls im Navigationspunkt Data Management, finden Sie den Reiter Mapping Set. Ein Mapping Set ist eine Art Übersetzungstabelle, womit Sie einen Quellwert in einen Zielwert übersetzen, auch genannt "mappen", können.
Im Screenshot sehen Sie ein Beispiel, wie Mapping Sets dazu genutzt werden können, um z.B. Attribute verschiedener Systeme anzugleichen bzw. als synonym zu verwenden.
Wo werden Mapping Sets angewendet?
Mapping Sets können als Spaltenfunktion innerhalb des Mapper SpreadsheetMapper Steps angewendet werden, sowie unter Eindeutige Werte bei den Datastore-Spaltenfunktionen.
Das betrifft folgende Bereiche und Aktionen:
- Datastore Import
- Datastore Export
- Datastore Spaltenfunktionen
- Mapper Step
Häufig gestellte Fragen zum Thema Datastore
Woher weiß ich wann ich Datastores brauche?
Immer dann, wenn Sie Daten in Synesty Studio zwischen speichern wollen oder müssen, kommen Datastores zum Einsatz.
Ob und wann Sie Daten zwischenspeichern müssen hängt von verschiedenen Faktoren ab.
In der Praxis werden Datastores häufig dann genutzt, wenn Sie neue Daten mit vorhandenen Daten abgleichen wollen.
Wann brauche ich Datastores nicht?
Es gibt viele Szenarien, wo Sie keine Datastores benötigen.
Zum Beispiel, wenn Sie einfach nur einen Flow erstellen, der eine CSV-Datei geringfügig umwandelt und diese dann auf einen FTP-Server kopiert - mit anderen Worten "die Daten nur durchschleift". In diesem Fall müssen die Daten in der Regel nicht zwischengespeichert werden. Theoretisch könnte man das - aber man muss es nicht.
Wann ist ein Datastore sinnvoll?
Angenommen Sie haben ein Szenario, wo Sie von mehreren Lieferanten Produktdaten bekommen. Man könnte diese verschiedenen Daten erstmal in einem Datastore konsolidieren. D.h. man importiert der Reihe nach alle Daten in den Datastore. Dabei könnte man auch schon Spalten bereinigen, umbenennen oder anreichern. D.h. am Ende liegen die Daten dann einheitlich im Datastore. Sie können die Daten in Ruhe sichten, evtl. manuell bearbeiten oder filtern. Anschließend könnten die Daten aus dem Datastore mit Hilfe von Flows weiterverarbeitet oder exportiert werden.
Weitere Anwendungsbeispiele:
- Markierung und Speicherung von Zuständen z.B. Bearbeitungsstatus
- Angenommen Sie wollen Datensätze als "exportiert" oder "noch nicht exportiert" markieren. Dann können Sie diese Markierung am Datensatz speichern und damit verhindern dass Datensätze doppelt exportiert werden.
- Sie könnten z.B. "verbotene" Datensätze markieren, die einem Eintrag in einer Blacklist oder Whitelist entsprechen.
- Konsolidierung verschiedener Datenquellen in ein einheitliches Format. Das einheitliche Format stellt der Datastores dar.
- Anreicherung von Daten über Querverweise
- Angenommen Sie wollen eine CSV-Datei eines Lieferanten, die nur eine Artikelnummer enthält, um weitere Spalten wie Artikelname und Bild-URL aus ihrem eigenen Produktkatalog erweitern. Dann ist ein Datastore sehr sinnvoll, da man über den Querverweis auf die Artikelnummer auf alle Spalten ihrer Artikel zugreifen kann, um damit die CSV-Datei zu erweitern
- Abgleich von neuen und vorhandenen Daten
Was kostet die Speicherung in Datastores?
Immer wenn Sie Daten in einem Datastore speichern, benötigen Sie auch den notwendigen Speicherplatz dafür. In Synesty Studio wird das pro Datensatz gemessen. D.h. Sie müssen die notwendige Anzahl an Datensätzen gebucht haben, um entsprechend viele Datensätze speichern zu können.
Sie können ein Paket erwerben, um die Datensatz-Limits zu erhöhen. Das Dashboard zeigt ihnen immer den aktuellen Verbrauch ihrer Datensätze an.