Loading

Vorbereiten einer CSV-Datei für das Importieren oder Aktualisieren in Salesforce

Veröffentlichungsdatum: Nov 10, 2021
Beschreibung


Beachten Sie die folgenden Hinweise beim Vorbereiten Ihrer CSV-Datendatei für den Import oder die Aktualisierung in Salesforce.

Lösung


Vorbereiten von CSV-Dateien

Die erste Zeile in einer CSV-Datei listet die Feldnamen für das von Ihnen verarbeitete Objekt auf. Jede nachfolgende Zeile entspricht einem Datensatz in Salesforce. Ein Datensatz besteht aus einer Reihe von kommagetrennten Feldern. Eine CSV-Datei kann mehrere Datensätze enthalten und bildet einen "Batch".

Alle Datensätze in einer CSV-Datei müssen für dasselbe Objekt sein. Dieses Objekt geben Sie im dem Batch zugeordneten Auftrag an. Alle einem Auftrag zugeordneten Batches müssen Datensätze für dasselbe Objekt enthalten.

Beachten Sie für das Verarbeiten von CSV-Dateien mit der Bulk-API Folgendes:

  • Mit Ausnahme eines Kommas werden Trennzeichen von der Bulk-API nicht unterstützt.
  • Die Bulk-API ist für das Verarbeiten großer Datensets optimiert und weist ein strenges Format für CSV-Dateien auf (die entsprechenden Formate finden Sie unter Gültige CSV-Datensatzzeilen). Die einfachste Möglichkeit, CSV-Dateien zu verarbeiten, besteht darin, die Bulk-API für Data Loader zu aktivieren.
  • Sie müssen alle Pflichtfelder hinzufügen, wenn Sie einen Datensatz erstellen. Optional können Sie ein beliebiges anderes Feld für das Objekt hinzufügen.
  • Wenn Sie einen Datensatz aktualisieren, werden die in der CSV-Datei definierten Felder während der Aktualisierung ignoriert.
  • Die Dateien müssen im UTF-8-Format vorliegen.
 

Beziehungsfelder in der Kopfzeile

Viele Objekte in Salesforce hängen mit anderen Objekten zusammen. So ist beispielsweise "Account" ein übergeordnetes Objekt von "Kontakt". Sie können einem zugehörigen Objekt in einer CSV-Datei einen Verweis hinzufügen, indem Sie die Beziehung in einer Spaltenüberschrift darstellen.

Wenn Sie Datensätze in der Bulk-API verarbeiten, verwenden Sie die Syntax RelationshipName.IndexedFieldName in einer CSV-Spaltenüberschrift, um die Beziehung zwischen einem Objekt und dem zugehörigen übergeordneten Objekt zu beschreiben, wobei RelationshipName der Beziehungsname des Felds ist und IndexedFieldName  der indizierte Feldname, der den übergeordneten Datensatz eindeutig identifiziert. Verwenden Sie den Aufruf describeSObjects() in der SOAP-basierten SOAP-API, um den Eigenschaftswert "relationshipName" für ein Feld abzurufen.

Einige Objekte weisen auch Beziehungen zu sich selbst auf. Beispielsweise ist das Feld "Vorgesetzter" für einen Kontakt ein Verweis auf einen anderen Kontakt. Wenn Sie einen Kontakt einfügen, können Sie die Spaltenüberschrift ReportsTo.Email verwenden, um anzugeben, dass Sie das E-Mail-Feld eines Kontakts verwenden, um das Feld "Vorgesetzter" für einen Kontakt eindeutig zu identifizieren. Der Teil ReportsTo der Spaltenüberschrift ist der Eigenschaftswert "relationshipName" für das Feld "Vorgesetzter". Die folgende CSV-Datei verwendet eine Beziehung:
 

1FirstName,LastName,ReportsTo.Email
2Tom,Jones,buyer@salesforcesample.com


Hinweis:

  • Sie können eine Unter-/Überordnungsbeziehung verwenden, jedoch keine Über-/Unterordnungsbeziehung.
  • Sie können eine Unter-/Überordnungsbeziehung verwenden. Sie können sie jedoch nicht zu einer Unter-/Über-Überordnungsbeziehung erweitern.
  • Sie können nur indizierte Felder für das übergeordnete Objekt verwenden. Ein benutzerdefiniertes Feld wird indiziert, wenn das zugehörige Feld "Externe ID" ausgewählt wird. Ein Standardfeld wird indiziert, wenn die Eigenschaft "idLookup" auf true festgelegt wird. Konsultieren Sie die Spalte "Feldeigenschaften" in der Feldtabelle für jedes Standardobjekt.
 

Beziehungsfelder für benutzerdefinierte Objekte

Benutzerdefinierte Objekte verwenden benutzerdefinierte Felder, um die Beziehungen zwischen Objekten zu verfolgen. Verwenden Sie den Beziehungsnamen, der auf __r (Unterstrich-Unterstrich-r) endet, um eine Beziehung zwischen zwei benutzerdefinierten Objekten darzustellen. Sie können einem zugehörigen Objekt einen Verweis hinzufügen, indem Sie die Beziehung in einer Spaltenüberschrift darstellen.

Wenn das untergeordnete Objekt ein benutzerdefiniertes Feld mit dem API-Namen Mother_Of_Child__c aufweist, der auf ein übergeordnetes benutzerdefiniertes Objekt verweist, und das übergeordnete Objekt ein Feld mit dem API-Namen External_ID__c aufweist, verwenden Sie die Spaltenüberschrift Mother_Of_Child__r.External_ID__c, um anzugeben, dass Sie das Feld "Externe ID" des übergeordneten Objekts verwenden, um das Feld für das halbseitig übergeordnete Objekt des untergeordneten Objekts eindeutig zu identifizieren. Ersetzen Sie __c im benutzerdefinierten Feld des untergeordneten Objekts durch __r, um einen Beziehungsnamen in einer Spaltenüberschrift zu verwenden.

Weitere Informationen finden Sie im Thema über die grundlegenden Informationen zu Beziehungsnamen im Salesforce SOQL und SOSL Reference Guide.

Die folgende CSV-Datei verwendet eine Beziehung:
 

1Name,Mother_Of_Child__r.External_ID__c
2CustomObject1,123456
 

Beziehungen für polymorphe Felder

Ein polymorphes Feld kann auf mehr als ein Objekttyp als übergeordnetes Objekt verweisen. So kann beispielsweise ein Kontakt oder ein Lead einer Aufgabe übergeordnet sein. Das gesamte Feld einer Aufgabe kann demzufolge die ID eines Kontakts oder Leads enthalten. 

Da ein polymorphes Feld flexibler ist, weist die Syntax für die Spaltenüberschrift ein zusätzliches Element auf, um den Typ des übergeordneten Objekts zu definieren. Die Syntax lautet ObjectType:RelationshipName.IndexedFieldName.

Das folgende Beispiel enthält zwei Verweisfelder:

1. Das gesamte Feld ist polymorph und weist Who als "relationshipName" auf. Es verweist auf einen Lead. Zudem identifiziert das indizierte Feld "Email" eindeutig den übergeordneten Datensatz.

2. Das Feld "OwnerId" ist nicht polymorph und weist Owner als "relationshipName" auf. Es verweist auf einen Benutzer. Zudem identifiziert das indizierte Feld "Id" eindeutig den übergeordneten Datensatz.
 

1Subject,Priority,Status,Lead:Who.Email,Owner.Id
2Test Bulk API polymorphic reference field,Normal,Not Started,lead@salesforcesample.com,005D0000001AXYz


Der Teil ObjectType: einer Feldspaltenüberschrift ist nur für ein polymorphes Feld erforderlich. Wenn Sie diese Syntax für ein polymorphes Feld weglassen, wird ein Fehler zurückgegeben. Es wird ebenfalls ein Fehler zurückgegeben, wenn Sie diese Syntax für ein nicht polymorphes Feld hinzufügen.
 

Gültige CSV-Datensatzzeilen

Die Bulk-API verwendet ein strenges Format für Feldwerte, um die Verarbeitung großer Datensets zu optimieren. Beachten Sie beim Generieren von CSV-Dateien, die Salesforce-Datensätze enthalten, Folgendes:

  • Als Trennzeichen für Feldwerte in einer Zeile muss ein Komma verwendet werden.
  • Wenn ein Feldwert ein Komma, einen Zeilenwechsel oder doppelte Anführungszeichen enthält, muss der Feldwert in doppelte Anführungszeichen gesetzt werden, beispielsweise: "Verwaltungsdirektor, westliche Region".
  • Wenn ein Feldwert doppelte Anführungszeichen enthält, müssen diese doppelten Anführungszeichen mit einem Escapezeichen versehen werden. Verwenden Sie dafür weitere, vorangestellte doppelte Anführungszeichen, beispielsweise: "Dies ist der ""Gold""-Standard".
  • Feldwerte werden nicht gekürzt. Ein Leerzeichen vor oder hinter einem trennenden Komma wird in den Feldwert miteinbezogen. Ein Leerzeichen vor oder hinter einem doppelten Anführungszeichen generiert einen Fehler für die Zeile. So sind beispielsweise Hans,Schmidt und Hans, Schmidt gültig, der zweite Wert ist jedoch " Schmidt". "Hans", "Schmidt" ist nicht gültig.
  • Leere Feldwerte werden ignoriert, wenn Sie Datensätze aktualisieren. Verwenden Sie den Feldwert "#N/A", um einen Feldwert auf NULL festzulegen.
  • Felder mit einem doppelten Datentyp können gebrochene Werte enthalten. Werte können in einer wissenschaftlichen Schreibweise gespeichert werden, wenn die Zahl entsprechend der folgenden Spezifikation groß (oder bei negativen Zahlen klein) genug ist: W3C XML Schema Part 2: Datatypes Second Edition.
Hinweise:
  • Als Übergangslösung können Benutzer versuchen, eine CSV-Datei in Excel zu öffnen und dann zu speichern. Dadurch können manchmal bestimmte Formatierungsprobleme korrigiert werden.
  • Eine einzige ungültige Zeile kann dazu führen, dass der gesamte Import fehlschlägt. Es ist möglich, die CSV in kleinere Dateien aufzuschlüsseln, um herauszufinden, welcher Datensatz bzw. welche Spalte Fehler oder Importprobleme verursacht.
 

CSV-Beispieldatei

Das folgende CSV-Beispiel enthält zwei Datensätze für das Kontaktobjekt. Jeder Datensatz enthält sechs Felder. Sie können ein beliebiges Feld für ein Objekt hinzufügen, das Sie verarbeiten. Wenn Sie diese Datei verwenden, um vorhandene Accounts zu aktualisieren, werden während der Aktualisierung die in der CSV-Datei nicht definierten Felder ignoriert.

Sie müssen alle Pflichtfelder hinzufügen, wenn Sie einen Datensatz erstellen.
 

1FirstName,LastName,Title,ReportsTo.Email,Birthdate,Description
2Tom,Jones,Senior Director,buyer@salesforcesample.com,1940-06-07Z,"Self-described as ""the top"" branding guru on the West Coast"
3Ian,Dury,Chief Imagineer,cto@salesforcesample.com,,"World-renowned expert in fuzzy logic design.
4Influential in technology purchases."

Beachten Sie, dass das Feld "Beschreibung" für den letzten Datensatz einen Zeilenumbruch aufweist. Daher ist der Feldwert in doppelte Anführungszeichen gesetzt.
 

Überlegungen für das Importieren von Daten in verschiedene Objekte

  • Nachschlagefelder – ID: Eine Salesforce-ID ist eine 15- (mit berücksichtigter Groß- und Kleinschreibung) oder 18-stellige (ohne Berücksichtigung der Groß- und Kleinschreibung) alphanumerische Zeichenfolge, die einen bestimmten Datensatz eindeutig identifiziert. : Stellen Sie zum Gewährleisten der Datenqualität sicher, dass alle von Ihnen in Data Loader eingegebenen Salesforce-IDs korrekte Groß-/Kleinschreibung aufweisen.
  • Auswahllistenfelder: Ihr Feldwert sollte mit einem der Werte in der Auswahlliste genau übereinstimmen. Wenn Sie einen anderen neuen Wert angeben, der in Ihrer Auswahlliste nicht vorhanden ist, wird er Ihrer Auswahlliste nicht hinzugefügt. Stattdessen ist der Datensatz fehlerhaft.
  • Datumsfelder: Datumsfelder sollten in einem bestimmten Datumsformat formatiert werden, das von Data Loader anderweitig für den Datenimport-Assistenten akzeptiert wird. Sie müssen sich jedoch keine Gedanken darum machen, das Format der Datums- oder Uhrzeitfelder zu ändern.
  • Boolesche Felder: Zum Zuordnen kann der Wert "True" oder "False" verwendet werden. Wenn Sie beispielsweise über ein Kontrollkästchenfeld in Ihrem Datensatz verfügen, können Sie zum Aktivieren oder Deaktivieren den Wert "True" oder "False" verwenden.
  • Währungsfelder: Es ist nicht erforderlich, Kommas oder das Währungssymbol hinzuzufügen. Salesforce wählt das Format automatisch entsprechend den standardmäßigen Währungseinstellungen Ihrer Organisation aus.
  • E-Mail-Adresse: Stellen Sie sicher, dass die E-Mail-Adresse gemäß RFC 5321 ordnungsgemäß formatiert ist und keine ungültigen Zeichen enthält, die entsprechend den internationalen Protokollen für E-Mails nicht zulässig sind. Beispiele für ungültige E-Mail-Adressen: 
 
  • Abc.beispiel.com (kein @-Zeichen)
  • A@b@c@beispiel.com (es ist nur ein einziges @ außerhalb von Anführungszeichen zulässig)
  • a"b(c)d,e:f;g<h>i[j\k]l@beispiel.com (keines der Sonderzeichen in diesem lokalen Teil ist außerhalb von Anführungszeichen zulässig)
  • einfach"nicht"richtig@beispiel.com (in Anführungszeichen gesetzte Zeichenfolgen müssen punktgetrennt sein oder das einzige Element, das den lokalen Teil bildet)
  • dies ist"nicht\erlaubt@beispiel.com (Leerzeichen, Anführungszeichen und umgekehrte Schrägstriche dürfen nur vorhanden sein, wenn sie sich in Zeichenfolgen befinden, die in Anführungszeichen gesetzt sind, und ihnen ein umgekehrter Schrägstrich vorangestellt ist)
  • dies\ ist\"nicht\\erlaubt@beispiel.com (selbst wenn sie durch ein Escapezeichen (mit einem vorangestellten umgekehrten Schrägstrich) geschützt sind, müssen Leerzeichen, Anführungszeichen und umgekehrte Schrägstriche weiterhin in Anführungszeichen enthalten sein)
  • john..doe@beispiel.com (doppelter Punkt vor @)
  • mit Einschränkung: Gmail erlaubt dies, Email address#Local-part the dots altogether
  • john.doe@beispiel..com (doppelter Punkt hinter @)
  • Gültige Adresse mit führendem Leerzeichen
  • Gültige Adresse mit nachgestelltem Leerzeichen
 
  • Validierungsregel: Stellen Sie sicher, dass Sie eine Validierungsregel auf ein beliebiges Feld angewendet haben und Ihr Wert den Kriterien für diese Validierungsregel entspricht. Andernfalls ist der Datensatz fehlerhaft. Alternativ können Sie die Validierungsregel außer Kraft setzen, um sie vor dem Upload zu deaktivieren.
  • Auslöser: Überprüfen Sie, ob Auslöser für das Objekt vorhanden sind, für das Sie Datensätze importieren oder aktualisieren, und ob Ihre Datensätze fehlerhaft sind, weil ein spezifisches Kriterium nicht erfüllt wird. Sie können den Auslöser umgehen, indem Sie ihn vor dem Upload deaktivieren. Nach Ihrem Upload können Sie ihn erneut aktivieren.


Wenn Sie Dateien mit Apex Data Loader einfügen, löschen oder aktualisieren, verwenden Sie das Dialogfeld für die Zuordnung, um den Spalten Ihrer CSV-Datei die Salesforce-Felder zuzuordnen.

1. Klicken Sie zum automatischen Abgleichen von Feldern mit Spalten auf Auto-Match Fields to Columns (Felder automatisch zu Spalten zuordnen). Data Loader füllt die im unteren Bereich des Fensters befindliche Liste anhand der Ähnlichkeit von Feld- und Spaltennamen auf. Bei einem Löschvorgang funktioniert der automatische Abgleich nur für das ID-Feld.

2. Klicken Sie zum manuellen Abgleichen von Feldern mit Spalten auf die Felder und ziehen Sie sie aus der oben befindlichen Liste der Salesforce-Felder nach unten in die Liste der CSV-Spaltenüberschriftennamen. Wenn Sie beispielsweise neue Account-Datensätze einfügen, wo Ihre CSV-Datei die Namen der neuen Accounts enthält, klicken Sie auf das auf der rechten Seite des NAME-Spaltenüberschriftfelds befindliche Namensfeld und ziehen Sie es.

3. Klicken Sie optional auf die Option zum Speichern der Zuordnung, um diese Zuordnung für die künftige Verwendung zu speichern. Geben Sie einen Namen für die SDL-Zuordnungsdatei an. Wenn Sie eine vorhandene Datei auswählen, wird der Inhalt dieser Datei ersetzt. Klicken Sie auf "Yes" (Ja), um diese Aktion zu bestätigen, oder klicken Sie auf "No" (Nein), um eine andere Datei auszuwählen. 4. Klicken Sie auf "OK", um Ihre Zuordnung für den aktuellen Vorgang zu verwenden.

Ordnen Sie zum Importieren von Daten aus CSV-Dateien, die diese Regeln nicht erfüllen, die Datumsfelder in der CSV-Datei den Salesforce-Datenfeldern zu (weitere Informationen finden Sie unter Mapping Data Fields (Zuordnen von Datenfeldern)).

Nummer des Knowledge-Artikels

000381876

 
Laden
Salesforce Help | Article