Loading
Salesforce에서 이메일을 보내기 위해서는 도메인 인증이 필요합니다.더 많이 읽기

Salesforce에서 가져오기 또는 업데이트할 CSV 파일 준비

게시 일자: Nov 10, 2021
솔루션
 
경고
데이터 작업을 수행하기 전에 항상 데이터를 백업하십시오. 자세한 내용은 Salesforce에서 백업 데이터 내보내기 또는 데이터 내보내기를 참조하십시오. Salesforce에서 수동으로 열고 해당 레코드가 올바른지 확인하여 작업의 성공 여부를 확인하려면 레코드의 작은 하위 집합으로 테스트를 실행하는 것이 좋습니다.


CSV 파일 준비

CSV 파일의 첫 번째 행(머리글 행)에는 처리 중인 개체의 필드 이름이 나열됩니다. 그 후의 각 행은 Salesforce의 레코드에 해당합니다. 레코드는 쉼표로 구분되는 일련의 필드로 구성됩니다. CSV 파일은 여러 레코드를 포함할 수 있고, 배치(batch)라고 합니다.


CSV 파일의 모든 레코드는 같은 개체의 레코드여야 합니다. 이 개체는 배치와 연결된 작업에서 이 개체를 지정합니다. 작업과 연결된 모든 배치에는 같은 개체에 대한 레코드가 포함되어야 합니다.


대량 API로 CSV 파일 처리:

  • 파일은 UTF-8 형식이어야 합니다.
  • 대량 API에서는 쉼표만 구분 기호로 사용할 수 있습니다.
    • 국제 컴퓨터를 사용하는 경우 Excel에서 생성된 .CSV 파일의 구분 기호가 쉼표가 아닐 수 있습니다. .CSV 파일을 컴퓨터의 메모장 앱으로 열어 .CSV 파일 구분 기호가 쉼표인지 확인할 수 있습니다.
    • Tom;Jones;buyer@salesforcesample.com이 보이면 현재 구분 기호가 쉼표가 아니라 세미콜론임을 의미합니다. 이 경우 파일에 중요한 문제가 발생합니다.
      • 세미콜론을 쉼표로 바꾸십시오. 예를 들어 PC에서는 키보드에서 CTRL + H를 눌러 세미콜론을 찾아 쉼표로 바꾼 후 파일을 저장할 수 있습니다.
  • 대량 API는 큰 데이터 집합을 처리하는 데 최적화되었고 엄격한 CSV 파일 형식을 포함합니다. Data Loader에 대해 대량 API를 활성화하여 CSV 파일을 가장 간편하게 처리할 수 있습니다.
  • 레코드를 만들 때 필수 필드를 모두 포함시켜야 합니다. 
  • 레코드를 업데이트하는 경우, CSV 파일에 정의되어 있지 않는 필드는 업데이트 중에 무시됩니다.
 

머리글 행의 관계 필드

Salesforce의 여러 개체는 다른 개체와 관련이 있습니다. 예를 들어 계정은 연락처의 상위 개체입니다. CSV 파일에서 관계를 열 머리글에 표시하여 관련 개체에 참조를 추가할 수 있습니다.

레코드를 대량 API에서 처리하는 경우, RelationshipName.IndexedFieldName 구문을 CSV 열 머리글에 사용하여 개체와 상위 개체의 관계를 설명합니다. 여기서 RelationshipName은 필드의 관계 이름이고 IndexedFieldName은 상위 레코드를 고유하게 식별하는 색인된 필드 이름입니다. SOAP 기반 SOAP API에서 describeSObjects() 호출을 사용하여 필드의 relationshipName 속성 값을 구하십시오.

일부 개체에는 자체적인 관계가 있습니다. 예를 들어 연락처의 Reports To 필드는 다른 연락처에 대한 참조입니다. 연락처를 삽입하는 경우, ReportsTo.Email 열 머리글을 사용하여 연락처의 Email 필드를 사용해 연락처의 Reports To 필드를 고유하게 식별하고 있음을 나타낼 수 있습니다.

열 머리글의 ReportsTo 부분은 Reports To 필드의 relationshipName 속성 값입니다.

다음 CSV 파일에서는 관계를 사용합니다.
 

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


참고:
 

  1. 하위-상위 관계를 사용할 수 있지만, 상위-하위 관계는 사용할 수 없습니다.
  2. 하위-상위 관계를 사용할 수 있지만, 이 관계를 확장하여 하위-상위-최상위 관계를 사용할 수는 없습니다.
  3. 색인된 필드는 상위 개체에만 사용할 수 있습니다.
    • 사용자 지정 필드는 해당하는 외부 ID 필드가 선택된 경우 색인됩니다.
    • 표준 필드는 해당하는 idLookup 속성이 true로 설정된 경우 색인됩니다. 
    • 표준 개체에 대해서는 필드 테이블의 필드 속성 열을 참조하십시오.


사용자 지정 개체의 관계 필드

사용자 지정 개체는 사용자 지정 필드를 사용하여 개체 사이의 관계를 추적합니다. __r(밑줄-밑줄-r)로 끝나는 관계 이름을 사용하여 두 사용자 지정 개체의 관계를 나타내십시오. 관계를 열 머리글에 표시하여 관련 개체에 참조를 추가할 수 있습니다.


하위 개체에 API 이름이 Mother_Of_Child__c이고 상위 사용자 지정 개체를 가리키는 사용자 지정 필드가 있고 상위 개체에 API 이름이 External_ID__c인 필드가 있는 경우, 열 머리글 Mother_Of_Child__r.External_ID__c 를 사용하여 상위 개체의 외부 ID 필드를 사용해 Mother Of Child 필드를 고유하게 식별함을 나타내십시오. 관계 이름을 열 머리글에 사용하려면 하위 개체의 사용자 지정 필드에서 __c__r로 바꾸십시오.

다음 CSV 파일에서는 관계를 사용합니다.
 

1 Name,Mother_Of_Child__r.External_ID__c 2 CustomObject1,123456
자세한 내용은 SOQL과 SOSL 소개를 참조하십시오.

다형 필드의 관계

다형 필드는 두 가지 이상의 개체 유형을 상위 개체로 참조할 수 있습니다. 예를 들어 연락처 또는 리드가 작업의 상위 개체일 수 있습니다. 다시 말해, 작업의 WhoId 필드에는 연락처 또는 리드의 ID가 포함될 수 있습니다. 


다형 필드는 더 유연하므로 열 머리글의 구문에는 상위 개체 유형을 정의하는 추가 요소가 있습니다. 구문은 ObjectType:RelationshipName.IndexedFieldName입니다.


다음 샘플에는 참조 필드가 두 개 포함되어 있습니다.
 

  1. WhoId 필드는 다형 필드이고 이 필드의 relationshipName은 Who입니다. 이 필드는 리드를 참조하고 색인된 이메일 필드는 상위 레코드를 고유하게 식별합니다.
  2. OwnerId 필드는 다형 필드이고 이 필드의 relationshipName은 Owner입니다. 이 필드는 사용자를 참조하고 색인된 ID 필드는 상위 레코드를 고유하게 식별합니다.
     
다음 CSV 파일에서는 다형 필드를 사용합니다.
1 Subject,Priority,Status,Lead:Who.Email,OwnerId 2 Test Bulk API polymorphic reference field,Normal,NotStarted,lead@salesforcesample.com,005D0000001AXYz



유효한 CSV 레코드 행

필드 열 머리글의 ObjectType: 부분은 다형 필드에만 필요합니다. 다형 필드에 대해 이 구문을 생략하면 오류가 발생합니다. 이 구문을 다형 필드가 아닌 필드에 포함시켜도 오류가 발생합니다.


대량 API는 엄격한 형식을 필드 값에 사용하여 큰 데이터 집합의 처리를 최적화합니다. Salesforce 레코드를 포함하는 CSV 파일을 생성하는 경우 다음 사항을 기억하십시오.
 

  • 행의 필드 값 구분 기호는 쉼표여야 합니다.
  • 필드 값에 쉼표, 새 줄, 또는 큰 따옴표가 포함된 경우, 필드 값을 큰 따옴표로 묶어야 합니다. 예: "Director of Operations, Western Region".
  • 필드 값에 큰 따옴표가 포함된 경우, 큰 따옴표 앞에 큰 따옴표를 하나 더 추가하여 에스케이프해야 합니다. 예: "This is the ""gold"" standard".
  • 필드 값은 잘리지 않습니다. 구분 쉼표 앞 또는 뒤의 공백은 필드 값에 포함됩니다. 큰 따옴표 앞 또는 뒤에 공백이 있으면 행에 대해 오류가 발생합니다.
    • 예를 들어 John,Smith는 유효하고 John, Smith도 유효하지만 두 번째 값은 " Smith"고, ."John", "Smith"는 유효하지 않습니다.
  • 비어있는 필드 값은 레코드를 업데이트할 때 무시됩니다. 필드 값을 null로 설정하려면 필드 값 #N/A를 사용하십시오.
  • Double 데이터 형식이 있는 필드에는 소수 값이 포함될 수 있습니다. 숫자가 충분히 큰(또는 음수의 경우 충분히 작은) 경우 W3C XML 스키마 2부: Datatypes Second Edition 사양에 따라 값을 과학적 표기법으로 저장할 수 있습니다.
  • Excel은 .CSV 파일에서 선행 영(0)을 제거한다고 알려져 있습니다. 가져오기 전에 숫자 값(예: 우편 번호)을 검토해야 합니다.
 
참고:
  • 해결 방법으로, 사용자는 .CSV 파일을 Excel에서 연 다음 저장하려고 시도할 수 있습니다. 때로는 이 방법으로 특정 서식 문제를 해결할 수도 있습니다.
  • 잘못된 행이 하나만 있어도 전체 가져오기가 실패할 수 있습니다. CSV 파일을 더 작은 파일로 나눠 어느 레코드 및/또는 열 때문에 오류나 가져오기 문제가 발생하는지 확인할 수 있습니다.


샘플 CSV 파일


다음 CSV 파일에는 연락처 개체에 대한 레코드가 두 개 포함되어 있습니다. 각 레코드마다 필드가 6개씩 있습니다. 처리 중인 개체에 대한 아무 필드나 포함시킬 수 있습니다. 이 파일을 사용하여 기존 계정을 업데이트하는 경우, CSV 파일에 정의되어 있지 않는 필드는 업데이트 중에 무시됩니다.


레코드를 만들 때 필수 필드를 모두 포함시켜야 합니다.
 

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



마지막 레코드의 설명 필드에는 줄바꿈이 포함되어 있으므로, 필드 값을 큰 따옴표로 묶습니다.
 

데이터를 다양한 개체로 가져오는 동안 고려할 사항

 
  • 룩업 필드 - ID ; Salesforce ID는 대소문자를 구분하는 15자 또는 대소문자를 구분하지 않는 18자로 구성되는 영숫자 문자열로, 특정 레코드를 고유하게 식별합니다. 데이터 품질을 보장하기 위해, Data Loader에 입력하는 모든 Salesforce ID는 대소문자를 올바르게 구분해야 합니다.
  • 선택 목록 필드: 필드 값은 선택 목록에 있는 값 중 하나와 정확하게 일치해야 합니다. 선택 목록에 없는 다른 새 값을 제공하면 선택 목록에 추가되지 않고 레코드에 오류가 발생합니다.
  • 날짜 필드: 날짜 필드의 서식은 CSV 파일의 '날짜' 및 '날짜 시간' 데이터 형식에 설명된 서식과 같아야 합니다. 그렇지 않으면 데이터 가져오기 마법사에서 날짜 또는 시간 필드의 형식을 변경하지 않아도 됩니다.
  • 부울 필드: True 또는 False 값을 사용하여 매핑할 수 있습니다. 예를 들어 레코드에 확인란 필드가 있는 경우 true 또는 false 값을 각각 사용하여 선택하거나 선택 해제할 수 있습니다.
  • 통화 필드: 쉼표 또는 통화 기호를 추가하지 않아도 됩니다. Salesforce는 조직의 기본 통화 설정에 따라 형식을 자동으로 선택합니다.
  • 이메일 주소: 이메일 형식이 RFC 5321에 따라 올바르게 사용되었고 이메일 국제 프로토콜에 따라 허용되지 않는 잘못된 문자를 포함하지 않는지 확인합니다. 다음은 잘못된 이메일의 몇 가지 예입니다.
    • Abc.example.com(@ 문자 없음)
    • A@b@c@example.com (따옴표 밖에 @가 하나만 있어야 함)
    • a"b(c)d,e:f;g<h>i[j\k]l@example.com(이 로컬 부분에 있는 특수 문자는 모두 따옴표 밖에서 허용되지 않음)
    • just"not"right@example.com(따옴표 안에 있는 문자열은 점으로 구분하거나, 로컬 부분을 구성하는 유일한 요소여야 함)
    • this is"not\allowed@example.com(공백, 따옴표, 백슬래시는 따옴표로 묶은 문자열 안에 있고 백슬래시가 앞에 오는 경우에만 존재할 수 있음)
    • this\ still\"not\\allowed@example.com(에스케이프된(백슬래시가 앞에 오는) 공백, 따옴표 및 백슬래시도 따옴표로 묶어야 함)
    • john..doe@example.com(@ 앞에 점 두 개)
    • 주의 사항: Gmail은 이를 허용합니다. Email address#Local-part the dots altogether
    • john.doe@example..com(@ 뒤에 점 두 개)
    • 앞에 공백이 있는 유효한 주소
    • 뒤에 공백이 있는 유효한 주소
  • 유효성 검사 규칙: 필드에 적용된 유효성 검사 규칙이 있는 경우 값이 해당 유효성 검사 규칙의 조건을 준수해야 합니다. 그렇지 않으면 레코드 오류의 원인이 됩니다. 또는 유효성 검사 규칙을 재정의하여 업로드 전에 비활성화할 수 있습니다.
  • 트리거: 가져오거나 레코드를 업데이트하는 개체에 트리거가 있는지, 그리고 특정 조건이 충족되지 않아 레코드에 오류가 발생하지 않는지 확인하십시오. 업로드 전에 트리거를 비활성화하여 바이패스하고 업로드가 완료된 후 다시 활성화할 수 있습니다.


Apex Data Loader를 사용하여 파일을 삽입, 삭제 또는 업데이트하는 경우 매핑 대화 상자 창을 사용해 Salesforce 필드를 CSV 파일의 열과 연결하십시오.
 

  1. 필드를 열과 자동으로 일치시키려면 필드를 열에 자동 일치를 클릭합니다. Data Loader가 필드 및 열 이름의 유사성을 기준으로 창 하단에 있는 목록을 채웁니다. 삭제 작업의 경우, 자동 일치는 ID 필드에서만 작동합니다.
  2. 필드를 열과 수동으로 일치시키려면 상단의 Salesforce 필드 목록에서 필드를 클릭하고 하단의 CSV 열 머리글 이름 목록으로 끌어 옮깁니다. 예를 들어 CSV 파일에 새 계정 이름이 포함되어 있는 새 계정 레코드를 삽입하는 경우 NAME 열 머리글 필드 오른쪽의 이름 필드를 클릭하고 끌어 옮깁니다.
  3. 원할 경우 매핑 저장을 클릭하여 이 매핑을 나중에 사용할 수 있게 저장합니다. SDL 매핑 파일의 이름을 지정합니다. 기존 파일을 선택하면 해당 파일의 내용이 대체됩니다. 예를 클릭하여 이 작업을 확인하거나, 아니요를 클릭하여 다른 파일을 선택합니다. 4. 매핑을 현재 작업에 사용하려면 확인을 클릭합니다.


이런 규칙을 준수하지 않는 CSV 파일에서 데이터를 가져오려면 CSV 파일의 데이터 필드를 Salesforce 데이터 필드에 매핑합니다. 데이터 필드 매핑을 참조하십시오.


참고 항목:


Salesforce YouTube 비디오
Knowledge 기사 번호

000381876

 
로드 중
Salesforce Help | Article