Loading

Prepara un file CSV per importare o aggiornare dati in Salesforce

Data pubblicazione: Nov 10, 2021
Risoluzione
Avviso 
Eseguire sempre il backup dei dati prima di eseguire qualsiasi operazione. Vedi Esportare i dati di backup da Salesforce  o  Esportare i dati  per maggiori dettagli. Si consiglia di eseguire un test con un piccolo sottoinsieme di record per assicurarsi che l'operazione abbia avuto esito positivo aprendo e verificando manualmente che i record corrispondenti siano corretti in Salesforce.


Preparazione dei file CSV

La prima riga (riga di intestazione) in un file CSV elenca i nomi dei campi per l'oggetto che stai elaborando. Ogni riga successiva corrisponde a un record in Salesforce. Un record è costituito da una serie di campi delimitati da virgole. Un file CSV può contenere più record e viene indicato come batch.

Tutti i record in un file CSV devono essere per lo stesso oggetto. Specificare questo oggetto nel lavoro associato al batch. Tutti i batch associati a un lavoro devono contenere record per lo stesso oggetto.

Elaborazione dei file CSV con l'API in blocco:
  • I file devono essere in formato UTF-8.
  • L'API in blocco supporta solo le virgole come delimitatore.
    • Se stai utilizzando un computer internazionale, il file .CSV generato su Excel molto probabilmente non sarà delimitato da virgole. Puoi verificare se il delimitatore di file .CSV è una virgola aprendolo con l'app Blocco note sul tuo computer.
    • Se vedi Tom, Jones; buyer@salesforcesample.com   significa che il delimitatore corrente è un punto e virgola invece di una virgola. Ciò comporterà problemi di importazione con il file.
      • Sostituisci i punti e virgola con le virgole. Su un PC, ad esempio, puoi fare CTRL + H con la tastiera per trovare, sostituire e quindi salvare il file.
  • L'API in blocco è ottimizzata per l'elaborazione di grandi set di dati e ha un formato rigoroso per i file CSV . Il modo più semplice per elaborare i file CSV è abilitare Bulk API per Data Loader. 
  • È necessario includere tutti i campi obbligatori quando si crea un record. 
  • Se stai aggiornando un record, tutti i campi che non sono definiti nel file CSV vengono ignorati durante l'aggiornamento.
 

Campi relazione in una riga di intestazione

Molti oggetti in Salesforce sono correlati ad altri oggetti. Ad esempio, Account è un "genitore" del oggetto contatto. È possibile aggiungere un riferimento ad un oggetto correlato in un file CSV rappresentando la relazione in un'intestazione di colonna.
Quando si elaborano i record nell'API in blocco, si utilizza la  RelationshipName.IndexedFieldName sintassi in un'intestazione di colonna CSV per descrivere la relazione tra un oggetto e il suo "genitore", dove  RelationshipName è il nome della relazione del campo ed IndexedFieldName è il nome del campo indicizzato che identifica in modo univoco il record principale. Utilizzare la chiamata describeSObjects() nell'API SOAP basata su SOAP per ottenere il valore della proprietà relationshipName per un campo.
Alcuni oggetti hanno relazioni con se stessi. Ad esempio, il campo Reports To di un contatto è un riferimento a un altro contatto. Se stai inserendo un contatto, puoi utilizzare  ReportsTo.Email un'intestazione di colonna per indicare che stai utilizzando il campo Email di un contatto per identificare in modo univoco il campo Reports To per un contatto.

La  ReportsTo parte dell'intestazione della colonna è il valore della proprietà relationshipName per il campo Reports To.

Il seguente file CSV utilizza una relazione:
 
1 FirstName, LastName, ReportsTo.Email
2 Tom, Jones, buyer@salesforcesample.com

Appunti:
 
  1. Puoi usare una relazione da "genitore a genitore", ma non puoi usare una relazione da "genitore a figlio".
  2. Puoi usare una relazione "figlio-genitore", ma non puoi estenderla per usare una relazione "figlio-genitore-nonno".
  3. È possibile utilizzare solo campi indicizzati sull'oggetto "genitore".
    • Un campo personalizzato viene indicizzato se è selezionato il relativo campo ID esterno.
    • Un campo standard viene indicizzato se la relativa proprietà idLookup è impostata su  true
    • Vedi la colonna Proprietà campo nella tabella dei campi per gli  oggetti standard.  


Campi relazione per oggetti personalizzati

Gli oggetti personalizzati utilizzano campi personalizzati per tenere traccia delle relazioni tra gli oggetti. Utilizza il nome della relazione, che termina con  __r(underscore-underscore-r), per rappresentare una relazione tra due oggetti personalizzati. È possibile aggiungere un riferimento a un oggetto correlato rappresentando la relazione in un'intestazione di colonna.

Se l'oggetto "figlio" ha un campo personalizzato con un nome API di  Mother_Of_Child__c che punta a un oggetto personalizzato "genitore" e l'oggetto ha un campo con un nome API di  External_ID__c, utilizza l'intestazione di colonna  Mother_Of_Child__r.External_ID__c per indicare che stai utilizzando il campo ID esterno dell'oggetto "genitore" per identificare in modo univoco il campo Mother Of Child. Per utilizzare un nome di relazione nell'intestazione di una colonna, sostituisci il  __c nel campo personalizzato dell'oggetto "figlio" con  __r.

Il seguente file CSV utilizza una relazione:
 
1 Nome, Mother_Of_Child__r.External_ID__c
2 CustomObject1,123456
Per ulteriori informazioni, consulta  Introduzione a SOQL e SOSL . 

Relazioni per campi polimorfici

Un campo polimorfico può fare riferimento a più di un tipo di oggetto come "genitore". Ad esempio, un contatto o un lead può essere il "genitore" di un'attività. In altre parole, il campo WhoId di un'attività può contenere l'ID di un contatto o di un lead. 

Poiché un campo polimorfico è più flessibile, la sintassi per l'intestazione di colonna ha un elemento aggiuntivo per definire il tipo di oggetto "genitore". La sintassi è  ObjectType:RelationshipName.IndexedFieldName.

Il seguente esempio include due campi di riferimento:
 
  1. Il campo WhoId è polimorfico e ha una relazioneNome di  WhoSi riferisce a un lead e il campo Email indicizzato identifica in modo univoco il record principale.
  2. Il campo OwnerId non è polimorfico e ha una relationshipName di  OwnerSi riferisce a un utente e il campo ID indicizzato identifica in modo univoco il record padre.
     
Il seguente file CSV utilizza campi polimorfici:
1 Oggetto, Priorità, Stato, Lead: Who.Email, OwnerId
2 Campo di riferimento polimorfico Test Bulk API, Normal, NotStarted, lead@salesforcesample.com , 005D0000001AXYz


Righe record CSV valide

La  ObjectType: parte dell'intestazione di colonna di un campo è richiesta solo per un campo polimorfico. Si ottiene un errore se si omette questa sintassi per un campo polimorfico. Si riceve un errore anche se si include questa sintassi per un campo che non è polimorfico.


L'API in blocco utilizza un formato rigoroso per i valori dei campi per ottimizzare l'elaborazione di grandi set di dati. Ricorda quanto segue quando si generano file CSV che contengono record in Salesforce:
 
  • Il delimitatore per i valori di campo in una riga deve essere una virgola.
  • Se un valore di campo contiene una virgola, una nuova riga o virgolette doppie, il valore del campo deve essere contenuto tra virgolette doppie: ad esempio, "Direttore delle operazioni, regione occidentale".
  • Se un valore di campo contiene virgolette doppie, le virgolette doppie devono essere precedute da un'altra virgoletta doppia: ad esempio, "Questo è il" "gold" "standard".
  • I valori dei campi non vengono tagliati. Uno spazio prima o dopo una virgola di delimitazione è incluso nel valore del campo. Uno spazio prima o dopo una virgoletta doppia genera un errore per la riga.
    • Ad esempio, John, Smith è valido; John, Smith è valido, ma il secondo valore è "Smith"; . "John", "Smith" non è valido.
  • I valori dei campi vuoti vengono ignorati quando aggiorni i record. Per impostare un valore di campo su null, utilizzare un valore di campo di # N / D.
  • I campi con un doppio tipo di dati possono includere valori frazionari. I valori possono essere memorizzati in notazione scientifica se il numero è abbastanza grande (o, per i numeri negativi, abbastanza piccolo), come indicato dalla specifica  W3C XML Schema Part 2: Datatypes Second Edition .
 
Appunti:
  • Come soluzione alternativa, gli utenti possono tentare di aprire il file .CSV in Excel e quindi salvare . Questo a volte può correggere alcuni problemi di formattazione. 
  • Solo una riga non valida può causare il fallimento dell'intera importazione. È possibile suddividere il CSV in file più piccoli per identificare il record e / o la colonna che causa errori o problemi di importazione.  


File CSV di esempio


Il seguente esempio CSV include due record per l'oggetto Contatto. Ogni record contiene sei campi. Puoi includere qualsiasi campo per un oggetto che stai elaborando. Se utilizzi questo file per aggiornare gli account esistenti, tutti i campi che non sono definiti nel file CSV vengono ignorati durante l'aggiornamento.

È necessario includere tutti i campi obbligatori quando si crea un record.
 
1 FirstName, LastName, Title, Reports To.Email, Birthdate, Description
2 Tom, Jones, Senior Director, buyer@salesforcesample.com , 1940-06-07Z, "Auto-descritto come" "il migliore" "guru del branding sulla costa occidentale"
3 Ian, Dury, Chief Imagineer, cto@salesforcesample.com ,, "Esperto di fama mondiale in progettazione logica fuzzy.
4 Influente negli acquisti di tecnologia. "


Da notare che il campo Descrizione per l'ultimo record include un'interruzione di riga, quindi il valore del campo è racchiuso tra virgolette doppie.
 

Considerazioni durante l'importazione di dati in oggetti diversi

 
  • Campi di ricerca  - ID; Un ID Salesforce è una stringa alfanumerica di 15 caratteri con distinzione tra maiuscole e minuscole o 18 caratteri senza distinzione tra maiuscole e minuscole che identifica in modo univoco un particolare record. Per garantire la qualità dei dati, assicurati che tutti gli ID Salesforce immessi in Data Loader siano corretti.
  • Campi elenco di selezione: il valore del campo deve corrispondere esattamente a uno dei valori nell'elenco di selezione. se fornisci qualsiasi altro nuovo valore che non esiste nel tuo elenco di selezione, non lo aggiungerà al tuo elenco, piuttosto fallirà il record.
  • Campi data: i campi data devono essere formattati come delineato in Formato per i dati "Data" e "Data ora" in un file CSV altrimenti, per un Importazione guidata dei dati non è necessario modificare il formato dei campi data o ora.  
  • Campi booleani: è possibile utilizzare il valore True o False per la mappatura. Ad esempio, se hai un campo casella di controllo nel tuo record, per selezionare o deselezionare il valore vero o falso per selezionarlo o deselezionarlo rispettivamente.
  • Campi valuta: non è necessario aggiungere virgole o simboli di valuta. Salesforce sceglierà automaticamente il formato in base alle impostazioni di valuta predefinite dell'organizzazione.
  • Indirizzo e-mail: assicurarsi che l'e-mail sia formattata correttamente in base a RFC 5321  e non includa caratteri non validi non consentiti in base ai protocolli internazionali di posta elettronica. Alcuni esempi di email non valide potrebbero essere come di seguito:
    • Abc.example.com  (nessun carattere @)
    • A @ b @ c@example.com  (solo uno @ è consentito al di fuori delle virgolette)
    • a "b (c) d, e: f; g <h> i [j \ k] l@example.com  (nessuno dei caratteri speciali in questa parte locale è consentito al di fuori delle virgolette)
    • solo "non" right@example.com  (le stringhe tra virgolette devono essere separate da un punto o l'unico elemento che compone la parte locale)
    • questo è "non \ consentito@esempio.com  (spazi, virgolette e barre rovesciate possono esistere solo se all'interno di stringhe tra virgolette e precedute da una barra rovesciata)
    • questo \ ancora \ "non \\ consentito@esempio.com  (anche se preceduto da una barra rovesciata), gli spazi, le virgolette e le barre rovesciate devono essere comunque contenuti tra virgolette)
    • john..doe @ example.com  (doppio punto prima di @)
    • con avvertenza: Gmail lo lascia passare,  Email address # Local-parte i punti del tutto
    • john.doe @ example..com (doppio punto dopo @)
    • un indirizzo valido con uno spazio iniziale
    • un indirizzo valido con uno spazio finale
  • Regola di convalida : assicurati che se hai una regola di convalida applicata a qualsiasi campo, il tuo valore sia conforme ai criteri per quella regola altrimenti fallirà il record. Oppure puoi scegliere di ignorare la regola di convalida per disattivarla prima del caricamento.
  • Trigger : assicurati di avere dei trigger sull'oggetto per il quale stai importando o aggiornando i record e che i tuoi record non funzionino a causa di un criterio specifico non soddisfatto. Puoi scegliere di bypassare il trigger disattivandolo prima del caricamento e al termine del caricamento puoi attivarlo di nuovo.

Quando inserisci, elimini o aggiorni i file utilizzando Apex Data Loader, utilizza la finestra di dialogo Mapping per associare i campi Salesforce alle colonne del tuo file CSV.
 
  1. Per abbinare automaticamente i campi alle colonne, fare clic su Abbina automaticamente i campi alle colonneIl Data Loader popola l'elenco nella parte inferiore della finestra in base alla somiglianza dei nomi dei campi e delle colonne. Per un'operazione di cancellazione, la corrispondenza automatica funziona solo sul campo ID. 
  2. Per abbinare manualmente i campi alle colonne, fare click e trascinare i campi dall'elenco dei campi Salesforce in alto all'elenco dei nomi delle intestazioni di colonna CSV in basso. Ad esempio, se stai inserendo nuovi record di account in cui il tuo file CSV contiene i nomi di nuovi account, fai click e trascina il campo Nome a destra del campo dell'intestazione della colonna NOME.
  3. Facoltativamente, fai click su Salva mappatura per salvare questa mappatura per un utilizzo futuro. Specificare un nome per il file di mapping SDL. Se selezioni un file esistente, il contenuto di quel file viene sostituito. Fai click su Sì per confermare questa azione o fare clic su No per scegliere un altro file. 4. Fai click su OK per utilizzare la mappatura per l'operazione corrente.

Per importare dati da file CSV che non soddisfano queste regole, mappa i campi dati nel file CSV dati Salesforce, consulta  Mapping campi dati.


Guarda anche:

Video di YouTube su Salesforce
Numero articolo Knowledge

000381876

 
Caricamento
Salesforce Help | Article