DataSet bearbeiten
13 min
\<font color="#0c121d">im datasets editor befinden sich drei fenster im fenster oben links ist eine übersicht der stages zu sehen rechts oben können die stages beschrieben und konfiguriert werden im fenster unten sieht man eine vorschau der daten, wenn man die jeweilige stage testet außerdem können in einem zweiten reiter parameter an das dataset übergeben werden \</font> \<font color="#0c121d">übersicht stages\</font> \<font color="#0c121d">eine stage bildet immer das ergebnis einer query an einem bestimmten punkt der datapipeline ab jede stage hat eine eigene funktionalität, wie z b das filtern oder das sortieren der daten die stages sind dabei hierarchisch aufgebaut, das heißt wenn stage 3 von 5 getestet wird, werden nur die stages 1 bis 3 ausgeführt \</font> \<font color="#0c121d">im linken oberen fenster des datasets editor ist eine übersicht der stages zu sehen die stages können über das plus zeichen hinzugefügt werden über den button "stage testen" können die stages getestet bzw ausgeführt werden über das tonne icon kann die stage gelöscht werden außerdem können stages per drag and drop verschoben werden \</font> \<font color="#0c121d">jedes dataset beginnt mit der ersten stage, in der die daten aus der quell datenstruktur geladen werden danach können beliebig viele stages hinzugefügt werden aktuell sind in yedi 12 stages verfügbar \</font> \<font color="#0c121d">beschreibung und konfiguration der stages \</font> \<font color="#0c121d">im rechten oberen fenster des datasets editor können die stages beschrieben und konfiguriert werden die beschreibung ist für jede stage gleich aufgebaut \</font> \<font color="#0c121d">es kann ein titel sowie eine beschreibung vergeben werden die konfiguration unterscheidet sich je nach stage im folgenden werden die einzelnen stages und deren funktionalität erklärt \</font> collection auflösen \<font color="#0c121d">daten sind häufig nicht zweidimensional, sondern in deutlich komplexerer weise gegeben ein häufiger anwendungsfall ist, dass daten verschachtelt sind, d h dass pro datensatz mehrere datensätze untergeordnet sind als beispiel kann man sich ein dataset von bestellungen denken ein datensatz (also eine bestellung) kann die daten von mehreren produkten enthalten, da mehrere produkte in einer bestellung erworben wurden somit sind die daten der produkte unter den daten der bestellung verschachtelt \</font> \<font color="#0c121d">die stage collection auflösen kann genutzt werden, um verschachtelte daten aufzulösen verschachtelte daten werden in yedi in einer collection gespeichert mit dem auflösen der collection wird für jedes element in der collection ein eigener datensatz angelegt im beispiel der bestelldaten werden also aus einem datensatz (eine bestellung mit fünf produkten) fünf datensätze (fünf mal die gleiche bestellung mit unterschiedlichen produkten) \</font> \<font color="#0c121d">unter „feld“ kann die collection ausgewählt werden, die aufgelöst werden soll unter „index“ kann optional der name eines neuen feldes angegeben werden, in dem dann der index des collection elements gespeichert wird mit der option „leere fälle behalten“ können leere einträge in der collection erhalten werden diese option ist per default auf false, sodass leere einträge aus der ergebnismenge entfernt werden \</font> ergebnisse zählen \<font color="#0c121d">mit der stage ergebnisse zählen kann ausgewertet werden, wie viele datensätze in der aktuellen ergebnismenge sind \</font> \<font color="#0c121d">für das zählen der ergebnisse muss lediglich unter „alias“ der name des feldes eingetragen werden, welches die anzahl der ergebnisse enthält \</font> felder auswählen \<font color="#0c121d">die stage felder auswählen kann genutzt werden, um die ergebnismenge auf bestimmte felder zu beschränken datasets können sehr groß sein und viele felder enthalten mit dieser stage können nur die felder ausgewählt werden, die für die nachfolgende pipeline relevant sind – alle anderen felder werden aus der ergebnismenge entfernt \</font> \<font color="#0c121d">unter „feld hinzufügen“ kann ein neues feld hinzugefügt werden das gewünschte feld kann aus dem dropdown menü ausgewählt oder manuell eingetragen werden das eingabefeld kann dabei auch als suchfunktion verwendet werden unter „alias“ muss der name eingetragen werden, den das feld fortan haben soll dieser kann gleichbleibend oder anders als der ursprüngliche name sein \</font> \<font color="#0c121d">nutzung von aliassen\</font> \<font color="#0c121d">aliasse, die in stages vergeben werden, werden fortan als namen der felder definiert wenn dem feld „{{source id}}“ also in einer stage das alias "orderid" vergeben wird, kann das feld in nachfolgenden stages nur noch über das alias „orderid“ angesteuert werden \</font> filter \<font color="#0c121d">in der filter stage können die daten anhand einer oder mehrerer bedingungen gefiltert werden beispielsweise kann man alle großen bestellungen (bestellsumme größer 1000 €) herausfiltern \</font> \<font color="#0c121d">dazu muss zunächst ein feld ausgewählt werden, nach dem gefiltert werden soll danach kann die filterbedingung mithilfe eines operators und ggf eines spezifizierten wertes definiert werden anstatt eines statischen wertes kann hier auch ein feld aus dem dataset ausgewählt werden, sodass zwei felder miteinander verglichen werden mit den buttons rechts kann der datentyp des wertes gesteuert werden, die bedingung geleert oder gelöscht werden außerdem kann die filterbedingung mit "+und" weiter geschachtelt werden links kann per klick bestimmt werden, ob es eine "und" (\&) oder eine "oder" bedingung (or) ist mit "+ und bedingung" können beliebig viele bedingungen hinzugefügt werden \</font> \<font color="#0c121d">operatoren\</font> \<font color="#0c121d">folgende operatoren stehen innerhalb der filter stage zur verfügung \</font> operator bedeutung beschreibung \<font color="#0c121d">==\</font> \<font color="#0c121d">gleich\</font> \<font color="#0c121d">findet alle datensätze, bei denen der wert des angegebenen feldes gleich dem angegebenen wert ist\</font> \<font color="#0c121d">\>\</font> \<font color="#0c121d">größer\</font> \<font color="#0c121d">findet alle datensätze, bei denen der wert des angegebenen feldes größer als der angegebene wert ist\</font> \<font color="#0c121d">\>=\</font> \<font color="#0c121d">größer gleich\</font> \<font color="#0c121d">findet alle datensätze, bei denen der wert des angegebenen feldes größer oder gleich dem angegebenen wert ist\</font> \<font color="#0c121d">\<\</font> \<font color="#0c121d">kleiner\</font> \<font color="#0c121d">findet alle datensätze, bei denen der wert des angegebenen feldes kleiner als der angegebene wert ist\</font> \<font color="#0c121d">\<=\</font> \<font color="#0c121d">kleiner gleich\</font> \<font color="#0c121d">findet alle datensätze, bei denen der wert des angegebenen feldes kleiner oder gleich dem angegebenen wert ist\</font> \<font color="#0c121d">!=\</font> \<font color="#0c121d">ungleich\</font> \<font color="#0c121d">findet alle datensätze, bei denen der wert des angegebenen feldes nicht gleich dem angegebenen wert ist\</font> \<font color="#0c121d">in\</font> \<font color="#0c121d">enthalten\</font> \<font color="#0c121d">findet alle datensätze, bei denen der wert des angegebenen feldes gleich einem beliebigen wert in der angegebenen liste ist\</font> \<font color="#0c121d">not in\</font> \<font color="#0c121d">nicht enthalten\</font> \<font color="#0c121d">findet alle datensätze, bei denen der wert des angegebenen feldes nicht in der angegebenen liste enthalten ist oder bei denen das feld nicht existiert\</font> \<font color="#0c121d">exists\</font> \<font color="#0c121d">existiert\</font> \<font color="#0c121d">findet alle datensätze, bei denen das angegebene feld existiert, einschließlich der datensätze, bei denen der feldwert null ist\</font> gruppieren \<font color="#0c121d">mit der gruppieren stage können daten anhand von einem oder mehreren feldern aggregiert ausgewertet werden beispielsweise kann man die bestellsumme aggregiert nach der zahlungsart berechnen \</font> \<font color="#0c121d">unter „gruppieren nach“ wird das feld definiert, nach denen die daten gruppiert werden sollen dem feld muss außerdem ein alias vergeben werden, was aber auch der ursprüngliche name des feldes sein kann es können beliebig viele gruppen hinzugefügt werden unter „aggregationen“ können dann diverse akkumulatoren definiert werden, nach denen die daten aggregiert werden sollen auch hier können beliebig viele akkumulatoren hinzugefügt werden \</font> \<font color="#0c121d">akkumulatoren\</font> \<font color="#0c121d">akkumulatoren sind funktionen, die für die aggregation von daten angewendet werden können es können entweder felder in einer collection zusammengefasst werden, einzelne elemente aus einer gruppe ausgewählt werden oder verschiedene rechenoperationen mit den aggregierten daten gemacht werden (z b durchschnitt, summe oder anzahl) die akkumulatoren benötigen teils unterschiedliche argumente und lassen sich dementsprechend mit den eingabemasken spezifisch konfigurieren wenn man über das fragezeichen hovert, erscheint eine infobox, in der eine erklärung des jeweiligen akkumulators steht \</font> join \<font color="#0c121d">ein join kann verwendet werden, um daten aus zwei oder mehreren datenstrukturen zu kombinieren \</font> \<font color="#0c121d">einfacher join\</font> \<font color="#0c121d">der einfache join kann genutzt werden, um daten anhand von einem schlüsselfeld miteinander zu kombinieren so können beispielsweise produktdaten mithilfe der artikel id an die bestelldaten gejoint werden \</font> \<font color="#0c121d">dazu wird bei „datenstruktur (extern)“ die datenstruktur ausgewählt, die gejoint werden soll unter „lokales feld“ muss das feld ausgewählt werden, das als schlüsselfeld in der lokalen datenstruktur dient; unter „externes feld“ analog das schlüsselfeld aus der externen datenstruktur die beiden felder sind im idealfall identische identifikationsnummer o ä (wie z b eine artikel id) unter „alias“ wird dann der name des feldes eingetragen, in den die gejointen daten aggregiert werden nach dem join sind alle daten dann in dieser collection verfügbar, sodass in nachfolgenden stages auf die einzelnen felder zugegriffen werden kann \</font> kategorisieren \<font color="#0c121d">mithilfe der stage „kategorisieren“ lassen sich die daten anhand von bedingungen in individuelle kategorien einteilen beispielsweise kann der zahlungsstatus in sprechende deutschsprachige kategorien eingeteilt werden \</font> \<font color="#0c121d">unter „gruppe hinzufügen“ können mehrere, aber muss mindestens eine kategorie hinzugefügt werden darin lässt sich die bedingung, nach der die kategorie gebildet wird, spezifizieren sowie eine bezeichnung für die kategorie angeben die kategorien müssen hier nicht überschneidungsfrei sein; wenn also ein datensatz theoretisch in mehrere kategorien fallen könnte, wird die kategorie der ersten bedingung, die erfüllt wurde, ausgewählt \</font> \<font color="#0c121d">unter „default“ muss eine ausweichkategorie eingetragen werden diese kategorie wird ausgewählt, wenn keine der angegebenen bedingungen erfüllt wurde unter „alias“ wird der name des feldes eingetragen, das die neu gebildeten kategorien enthält \</font> sortieren \<font color="#0c121d">die sortieren stage kann genutzt werden, um daten nach einem oder mehreren feldern zu sortieren beispielsweise lassen sich bestellungen nach der bestellsumme sortieren \</font> \<font color="#0c121d">dazu muss zunächst das feld ausgewählt werden, nach dem sortiert werden soll in einem zweiten schritt wird dann die richtung der sortierung bestimmt, also ob aufsteigend oder absteigend sortiert werden soll wenn mehrere felder zur sortierung hinzugefügt werden, werden sie von der sortieren stage nacheinander abgearbeitet – die erste sortierung hat also vorrang, dann die zweite usw \</font> transformer \<font color="#0c121d">die stage transformer kann genutzt werden, um felder aus den daten benutzerdefiniert zu verändern oder zu kombinieren beispielsweise können mithilfe eines transformers mathematische berechnungen mit feldern durchgeführt werden oder auch texte transformiert werden \</font> \<font color="#0c121d">für die nutzung eines transformers muss nur im dropdown menü der jeweilige transformer ausgewählt werden wenn man über das fragezeichen hovert, erscheint eine infobox, die eine erklärung des jeweiligen transformers liefert eine auflistung und erklärung aller transformer funktionen findet sich außerdem hier \</font> \<font color="#0c121d">\</font> \<font color="#0c121d">außerdem muss ein alias für das neue feld vergeben werden \</font> limit \<font color="#0c121d">die limit stage eignet sich insbesondere für das verarbeiten von großen datenmengen sie kann genutzt werden, um den output von daten zu begrenzen und somit die performance zu verbessern \</font> \<font color="#0c121d">die limit stage begrenzt die anzahl der datensätze, die an die nächste stage übergeben werden im feld „limit“ kann die maximale anzahl der weiterzugebenden datensätze angegeben werden \</font> offset \<font color="#0c121d">die offset stage überspringt eine bestimmte anzahl von datensätzen und leitet nur die verbleibenden datensätze an die nächste stage weiter i\</font> \<font color="#0c121d">nsbesondere in kombination mit der limit stage lässt sie sich nutzen, datasets batchweise zu verarbeiten \</font> \<font color="#0c121d">im feld „menge“ kann die maximale anzahl der zu überspringenden dokumente angegeben werden \</font> \<font color="#0c121d"> \</font> vorschau \<font color="#0c121d">im unteren fenster des dataset editors ist eine vorschau der daten zu sehen, nachdem eine stage getestet wurde unter der tabelle kann man sehen, wie viele datensätze in der ergebnismenge sind \</font> \<font color="#0c121d">es besteht die möglichkeit, 15, 25, 50 oder 100 ergebnisse pro seite anzeigen zu lassen \</font> parameter i \<font color="#0c121d">m reiter "parameter" können parameter für die datasets vergeben werden \</font> \<font color="#0c121d">in der auflistung ist die bezeichnung, der typ und der wert der definierten parameter zu sehen als aktionen können parameter bearbeitet (stift) und gelöscht (tonne) werden außerdem kann oben links definiert werden, wie viele ergebnisse pro seite angezeigt werden sollen \</font> \<font color="#0c121d">über den button "parameter hinzufügen" kann ein neuer parameter hinzugefügt werden dazu muss ein name für den parameter vergeben werden außerdem kann zwischen den typen text, nummer und json gewählt werden schließlich wird der wert vergeben\</font> \<font color="#0c121d">ziel der einzelnen parameter ist es, ein dataset dynamisch zu gestalten, so dass das ergebnis des datasets über variablen im workflow beeinflusst werden kann \</font> \<font color="#0c121d">nutzung um dynamische filter zu erzeugen, bei denen die werte, nach denen gefiltert wird, erst im workflow übergeben werden\</font> \<font color="#0c121d">ein parameter besteht aus einer bezeichnung, einem typ und einem default wert\</font>