Моделирование полиморфных отношений Salesforce в методологии Data Vault 2.0
Иногда объект Salesforce имеет полиморфные отношения с другими объектами Salesforce. В полиморфном отношении объект связи, на который указывает ссылка, может быть одним из нескольких различных типов объекта. Эти полиморфные отношения определяются с использованием полиморфных полей, содержащихся в объекте Salesforce. Полиморфное поле - это поле, в котором связанный объект может быть одним из нескольких различных типов объектов. Например,Who
Поле отношений Задачи может быть Контактом или Лидом. Аналогичным образомWhat
Поле отношения Задачи может быть любым объектом, не относящимся к человеку, в Salesforce.
Как лучше всего смоделировать полиморфные отношения Salesforce в методологии Data Vault?
2 ответа
мы также используем Salesforce в Scalefree внутри компании и превращаем ее в модель Data Vault 2.0. В управляемой данными модели Data Vault 2.0 (это то, чему мы учим и проповедуем) у вас есть два варианта: либо вы рассматриваете объект, связанный с Who, как обобщенный объект. Для этого потребуется обобщенный хаб, который позже будет связан (в Business Vault) с хабом Contact или Lead (в Raw Data Vault) с помощью бизнес-логики (поэтому ссылка принадлежит Business Vault).
Другой вариант — сохранить идентификатор Salesforce (char(18)) в спутнике и просто игнорировать связь — по крайней мере, в хранилище необработанных данных. В Business Vault вы рассчитываете связи между задачей и контактом или лидом на основе спутниковых данных и с помощью бизнес-логики (как отличить лиды от контактов по существу, это просто).
Надеюсь, это поможет, Майкл Олшимке
Когда вы моделируете с помощью хранилища данных, полагайтесь не на моделирование исходной системы, а на бизнес-объект и процесс.
В данном конкретном случае "Например, поле отношений Кто в Задаче может быть Контактом или Лидом", ключевое слово - "Связь", что означает ссылку.
Исходя из того, что вы описываете, я ожидаю, что у вас есть задача хаба, контакт хаба и лид хаба. В зависимости от вашего бизнес-процесса и единицы работы у вас может быть ссылка "Задача-контакт" и другая ссылка "Задача-руководитель".
затем, когда вы получаете данные, просто вставьте их в правильную ссылку (если она еще не существует).