---
title: Collection Transformer
slug: collection-transformer
docTags: 
createdAt: 2023-04-20T08:53:18.000Z
---

<font color="#0c121d">Collection Transformer ermöglichen es, Quell-Felder in verschiedener Art und Weise in einer Ziel-Collection zu kombinieren.</font>

<font color="#0c121d">Mit einem Klick auf das Filter Symbol öffnet sich das Konfigurationsmenü für die Collection Transformer. Unter "Collections" und weiter "Konfigurieren" kann der Collection Transformer konfiguriert werden.</font>

![](https://api.archbee.com/api/optimize/m7XYYqWReqlcaXtHZ8PJq/cM-W5aGCXYlCrjGsxDTZA_screely-1682324166901.png)

<font color="#0c121d">Im nächsten Schritt wird angegeben, wie die Daten zusammengeführt werden sollen und ob sie gefiltert werden sollen.</font>

:::hint{type="info"}
<font color="#0c121d">Hinweis: Die Indizierung beginnt immer mit 0.  Das erste Element hat somit den Index 0, das zweite den Index 1, usw.</font>
:::


Daten zusammenführen
--------------------

<font color="#0c121d">E</font>s<font color="#0c121d"> kann entschieden werden, wie die Daten zusammengeführt werden sollen. Die ist erforderlich, wenn mehr als ein Datenfeld auf die Collection gemapped wurde. </font><font color="#0c121d">Folgende Optionen sind verfügbar: </font><font color="#0c121d">Feste Anzahl, Multiplikation, Summe und Zuordnung.</font>

### <font color="#0c121d">Feste Anzahl</font>

<font color="#0c121d">Es werden Collection-Elemente einer festen Anzahl angelegt</font>.

<font color="#0c121d">Im folgenden Beispiel wird der Collection "FAQ" eine feste Anzahl von zwei Collection Elementen zugewiesen und die Felder question1 bzw. question 2 und answer1 bzw. answer2 jeweils manuell anhand des Collection Index einander zugeordnet</font>:

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
```json
{
	"question1": "Frage 1",
	"question2": "Frage 2",
	"answer1": "Antwort 1",
	"answer2": "Antwort 2"
}
```
:::

:::VerticalSplitItem
```json
{
	"FAQ": [
		{
			"question": "Frage 1",
			"answer": "Antwort 1"
		},
		{
			"question": "Frage 2",
			"answer": "Antwort 2"
		}
	]
}
```
:::
::::

### &#xA;<font color="#0c121d">Multiplikation</font>

<font color="#0c121d">Die gemappten Datenfelder werden miteinander multipliziert.</font>

<font color="#0c121d">Im folgenden Beispiel wird das Feld "currency" jeweils mit den beiden Collection Elementen multipliziert, sodass in der Ziel-Datenstruktur zwei Collection Elemente mit demselben "currency"*-*value entstehen</font>:

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
```json
{
	"curreny": "EUR",
	"details": [
		{
			"articleNumber": "71AP92F",
			"price": 229.34
		},
		{
			"articleNumber": "20SPH05",
			"price": 79.99
		}
	]
}
```
:::

:::VerticalSplitItem
```json
{
	"articleDetails": [
		{
			"number": "71AP92F",
			"price": 229.34,
			"currency": "EUR",
		},
		{
			"number": "20SPH05",
			"price": 79.99,
			"currency": "EUR",
		}
	]
}
```
:::
::::

### &#xA;<font color="#0c121d">Summe</font>

<font color="#0c121d">Die gemappten Datenfelder werden als einzelne Collection-Elemente verarbeitet</font>.

<font color="#0c121d">Im folgenden Beispiel werden die Felder "is_sale", "is_action" und "is_new" in eine Collection ("flags") überführt, d</font><font color="#0c121d">ie jeweils den Namen und den Wert des ursprünglichen Feldes enthält.</font>

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
```json
{
  "key": 123,
  "is_sale": true,
  "is_action": false,
  "is_new": true
}
```
:::

:::VerticalSplitItem
```json
{
  "key": 123,
  "flags":
    [
	  {
	    "name": "is_sale",
	    "value": true
	  },
	  {
	    "name": "is_action",
	    "value": true
	    },
	  {
	    "name": "is_new",
	    "value": true
	  }
	]
}
```
:::
::::

### &#xA;<font color="#0c121d">Zuordnung</font>

<font color="#0c121d">Die gemappten Felder werden einander zugeordnet, d. h. Quell-Collection-Elemente mit dem Index 0 werden in das Ziel-Collection-Element 0 gemappt usw.</font>&#x20;

<font color="#0c121d">Im folgenden Beispiel werden die Felder "articleNumber" und "price" gemäß ihrem Index einander zugeordnet: </font>

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
```json
{
	"numbers": [
		{
			"articleNumber": "71AP92F"
		},
		{
			"articleNumber": "20SPH05"
		}
	],
	"prices": [
		{
			"price": 229.34
		},
		{
			"price": 79.99
		}
	],
}
```
:::

:::VerticalSplitItem
```json
{
	"articleDetails": [
		{
			"articleNumber": "71AP92F",
			"price": 229.34,
		},
		{
			"articleNumber": "20SPH05",
			"price": 79.99,
		}
	]
}
```
:::
::::


Daten filtern
-------------

<font color="#0c121d">In einem zweiten Schritt können die Daten gefiltert werden. Hier kann eine Bedingung hinzugefügt werden oder spezifische Elemente aus dem Collection-Feld ausgewählt werden (z.B. das erste Element "first" oder das vierte Element "nth, Index: 3").</font>
