Zum Inhalt springen

Mapping-Profile

Rohdaten aus einem Data Pot sind selten so strukturiert wie dein PIM. Genau hier setzen Mapping-Profile an: Sie beschreiben regelbasiert und wiederverwendbar, wie aus einem eingehenden Datensatz ein vollständiges Business Object wird – mit der richtigen Familie, befüllten Attributen, Preisen, Status, Verbindungen und Bildern. Die Mapping-Profile gehören zu den mächtigsten Werkzeugen von buzzle: Sie leisten das, wofür sonst eigene ETL-Strecken oder Programmierung nötig wären – konfigurierbar, ohne Code.

Das Prinzip: einmal definieren, konsistent importieren

Abschnitt betitelt „Das Prinzip: einmal definieren, konsistent importieren“

Ein Mapping-Profil ist eine wiederverwendbare Vorschrift. Einmal definiert, sorgt es dafür, dass jeder Import aus derselben Quelle konsistent in der richtigen Struktur landet – heute, morgen und beim nächsten Lieferanten-Feed. Ein Profil besitzt einen Titel, eine Datenquelle (DataSource), einen Typ mit eigener Konfiguration sowie die eigentliche Mapping-Konfiguration.

Die Konfiguration eines Profils gliedert sich in zwei Teile:

BestandteilBedeutung
BusinessObjectTypeMappingPro Objekttyp eine eigene Mapping-Vorschrift (BusinessObjectMapping)
BusinessObjectConnectionMappingObjektübergreifende Verbindungen, die nach dem Import aufgebaut werden

Ein einzelnes BusinessObjectMapping ist das Herzstück und bündelt alle Regeln für eine Objektart:

FeldZweck
CodeMappingWoraus der eindeutige Objekt-Code gebildet wird
ParentMappingZuordnung eines Elternobjekts (Hierarchie/Varianten)
FamilyMappingAus welchem Quellwert die Familie bestimmt wird
AttributeMappingsDie Zuordnung der einzelnen Attribute (siehe unten)
StateMapping / InitialStateStatus/Zustände beim Import setzen
StateActivateDeactivateConfigurationObjekte automatisch aktivieren/deaktivieren
ConnectionMapping / StaticConnectionMappingVerbindungen zu anderen Objekten
ImageMapping / DocumentMappingBilder und Dokumente zuordnen
RootJsonPathEinstiegspunkt in die Quelldaten (JSON)
DataPotGroupBündelung zusammengehöriger Daten
OnlyUpdateNur bestehende Objekte aktualisieren, keine neuen anlegen

Mapping-Profile greifen über JSON-Path gezielt auf Felder der Quelldaten zu. Über den RootJsonPath legst du den Einstiegspunkt fest, über die Property jedes einzelnen Quellwerts den Pfad zum konkreten Feld. So lassen sich auch verschachtelte Strukturen sauber ansprechen – nicht nur flache Tabellen.

Ein Attributwert kann sogar aus mehreren Quellwerten zusammengesetzt werden, jeweils mit einer optionalen Bedingung (ConditionRegex) und einem Separator. Damit bildest du Fälle ab wie «nimm Feld A, aber nur wenn es dem Muster X entspricht, sonst Feld B».

Jedes Attribut wird über ein AttributeMapping zugeordnet:

FeldBedeutung
CodeInDatabaseZielattribut in buzzle
SelectValuesInSourceQuellwert(e) je Sprache – Grundlage für mehrsprachige Importe
IsLocalizedDer Wert wird pro Sprache geführt
SeparatorTrennzeichen beim Zusammensetzen mehrerer Quellwerte
UpdateExistingValuesBestehende Werte überschreiben
UpdateEmptyValuesNur leere Werte befüllen (Bestehendes bleibt erhalten)
ValueConvertersTransformationen des Wertes (siehe unten)
AttributeConfigurationTypspezifische Zusatzkonfiguration

Je nach Attributtyp greift automatisch die passende Mapping-Strategie – etwa für Auswahlfelder (Option), Mehrfachauswahl (Optionen) oder referenzdatenbasierte Attribute. So werden Quellwerte korrekt auf gültige Optionen und Referenzdaten abgebildet, statt nur als Text übernommen zu werden.

Selten passt ein Quellwert eins zu eins. Mapping-Profile bringen deshalb eingebaute Wert-Konverter mit, die sich pro Attribut verketten lassen:

KonverterParameterWirkung
StaticValueStaticValueSetzt einen festen Wert
ReplaceConverterSearchValue, ReplaceValueSuchen & Ersetzen
RemoveValueRemoveValueEntfernt einen bestimmten Wert/Teil
NumberFormatValueNumberFormatFormatiert Zahlen (z. B. Dezimaltrennzeichen)
IfThenValueIf, ThenBedingte Zuweisung («wenn … dann …»)

Ergänzend erlauben Symbol-Ersetzungen (SymbolReplacements) das gezielte Austauschen einzelner Zeichen, und mit ToLowerCase lässt sich der Wert normalisieren. Damit bereinigst und harmonisierst du Lieferantendaten schon beim Import – ohne Nacharbeit.

Ein Import setzt nicht nur Attribute:

  • Familien-Mapping: Über SelectValueInSource und eine Zuordnungstabelle (Mappings) wird aus einem Quellwert die passende Familie bestimmt – so landet jedes Produkt automatisch in der richtigen Struktur.
  • Status-Mapping: Zustände lassen sich beim Import setzen, inklusive Initialzustand. Über die StateActivateDeactivateConfiguration werden Objekte anhand der Quelldaten automatisch aktiviert oder deaktiviert – etwa, um ausgelistete Artikel stillzulegen.
  • Verbindungen: ConnectionMapping und StaticConnectionMapping verknüpfen Objekte bereits beim Import (z. B. Zubehör, Alternativen). Über BusinessObjectConnectionMapping lassen sich sogar objektübergreifende Verbindungen anhand von Quellwerten (ValueFromInSourceValueToInSource) aufbauen. Mehr dazu unter Verbindungen.
  • Bilder: ImageMapping übernimmt Bilder – wahlweise als URL oder aus einem Pfad (ImageMappingConfiguration mit IsUrl/Path).
  • Dokumente: DocumentMapping ordnet Dateien und Dokumente zu.

Feingranulare Update-Regeln verhindern Datenverlust: OnlyUpdate beschränkt einen Import auf bestehende Objekte, UpdateExistingValues und UpdateEmptyValues steuern pro Attribut, ob und wann Werte überschrieben werden. So aktualisieren tägliche Feeds gezielt nur das, was sich ändern soll – manuell gepflegte Inhalte bleiben unangetastet.

Mapping-Profile sind nicht an einen einzelnen Lauf gebunden. Sie werden im Import-Workflow ausgeführt und lassen sich so mit Data Pots und Connectors zu vollautomatischen, wiederkehrenden Importstrecken kombinieren – inklusive zeitgesteuerter Läufe. Mehr zur Automatisierung unter Workflows, Tasks & Jobs.

  • Kein Code, keine ETL-Insellösung – mächtiges Mapping rein über Konfiguration
  • Saubere Daten schon beim Import dank Konvertern, Bedingungen und Normalisierung
  • Vollständige Objekte inkl. Familie, Status, Verbindungen, Bildern und Dokumenten
  • Mehrsprachig und mit präziser Kontrolle über Updates
  • Wiederverwendbar und voll automatisierbar
  • Mapping-Profile übersetzen Rohdaten regelbasiert in vollständige Business Objects
  • JSON-Path, mehrere Quellwerte, Bedingungen und Wert-Konverter (StaticValue, ReplaceConverter, RemoveValue, NumberFormatValue, IfThenValue)
  • Mappen Familie, Status, Aktivierung, Verbindungen, Bilder und Dokumente mit
  • Feingranulares Update-Verhalten schützt gepflegte Daten
  • Wiederverwendbar und in automatisierte Importstrecken einbettbar