2010-07-23 2 views
3

Мне нужно загрузить данные на два объекта. Я могу загрузить данные в один объект с помощью загрузчика данных. Второй объект имеет отношение основных данных к первому объекту, поэтому мне нужно иметь уникальный идентификатор записи записей первого объекта в файле CSV. Как я могу добавить эти идентификаторы записи в файл CSV?Использование Apex Data Loader для загрузки записей в объект с привязкой основных данных

ответ

4

Вы можете загрузить «основные» записи после начальной загрузки и выполнить сопоставление, аналогичное (Name -> Id). В Excel это может быть достигнуто с помощью VLOOKUP. Как только вы создали новый список объектов «detail», не должно быть проблем с их загрузкой. Отображение «ID-> загруженные записи» также доступно в файле журнала успешности, созданном Apex Data Loader.

Но лучший способ - громко сказать «ввернуть идентификатор Salesforce, мне не нужен вонючий идентификатор» :) Думайте, если ваш «мастер» имеет уникальное поле. Это может быть даже «идентификатор» из вашей существующей системы, из которой вы импортируете Salesforce. Создайте это поле в Salesforce (если вы этого не сделали) и отметьте его как «Внешний идентификатор». Впоследствии вы сможете использовать этот внешний идентификатор вместо обычного идентификатора Salesforce, чтобы создать связь между источником и целью. В псевдокоде:

с нормальным Salesforce ID вы должны

INSERT INTO detail_object (Name, SomeValue, master_ID) VALUES ("foo", "bar", [some valid salesforce id]) 

С внешних идентификаторов вы можете легко и сказать Salesforce делать всю тяжелую

INSERT INTO detail_object (Name, SomeValue, master_ID) VALUES ("foo", "bar", (SELECT Id from master_object where some_field_marked_as_external_id = "123") 

Отъезд Data Loader user guide для быстрого начать и играть с внешними идентификаторами, если сможете (в бесплатной версии для разработчиков, возможно?). Это проще в использовании, чем для его описания.

+0

Будьте очень осторожны, используя Excel, чтобы сделать VLOOKUPs на идентификаторах Salesforce, как короткие идентификаторы Salesforce чувствительны к регистру, но VLOOKUPs Excel чувствителен к регистру. Также не забудьте установить для параметра Range search значение false в VLOOKUP, чтобы избежать просто возврата наилучшего совпадения, а не абсолютного соответствия. Наконец, набор опорных данных, используемый VLOOKUP, должен быть отсортирован, а первый столбец должен быть ключом, который является VLOOKUP'd. – Born2BeMild

1

Если вы используете загрузчик Apex данных, то вам придется сделать 3 вещи:

1: вставить основную запись (ы). это даст им ID

2: экспортируйте эти основные записи снова, включая их идентификаторы, и объедините их в свои данные. VLOOKUP наиболее полезен для такого рода вещей.

Или, если есть только одна основная запись, еще проще, просто скопируйте ID из URL-адреса и добавьте его на каждую подробную запись в вашей электронной таблице.

3: Затем вставьте подробные записи с мастером-идентификаторами

Смежные вопросы