Loading
Общие сведения о Salesforce Data 360
Нормализация данных посредством сценария использования UNION
  1. Справка Salesforce
  2. Документы
  3. Data 360

Нормализация данных посредством сценария использования UNION

Нормализуйте данные, принятые в Data 360, посредством трансформаций потоковых данных.

Рассмотрим пример. Исходный объект озера данных CRMContacts содержит не более трех номеров телефонов для каждого клиента.

CustomerId Имя MobilePhone HomePhone WorkPhone
C1 Иван 408-512-2234   650-342-4612
C2 Питер   310-453-3421 915-870-9900

Если объект озера данных CRMContacts напрямую соотнесен с объектом модели данных «Телефон точки контакта», можно соотнести только одну точку контакта — MobilePhone, HomePhone или WorkPhone. В результате, только один из трех номеров телефонов доступен в областях продуктов, использующих объект модели данных, например, вычисленные важные данные, разрешающая способность при опознавании и сегментация.

Ниже указан способ использования трансформации данных потоковой передачи для предоставления доступа ко всем трем номерам телефонов.

SELECT CONCAT(CRMContacts.CustomerId, "_Mobile") as PhoneId, 
    CRMContacts.CustomerId as CustomerId, 
    CRMContacts.MobilePhone as PhoneNumber,
    "Mobile" as PhoneType
FROM CRMContacts
WHERE ISNOTNULL(CRMContacts.MobilePhone) AND CRMContacts.MobilePhone <> ""
UNION
SELECT CONCAT(CRMContacts.CustomerId, "_Home") as PhoneId,
    CRMContacts.CustomerId as CustomerId, CRMContacts.HomePhone as PhoneNumber,
    "Home" as PhoneType
FROM CRMContacts
WHERE ISNOTNULL(CRMContacts.HomePhone) AND CRMContacts.HomePhone <> ""
UNION
SELECT CONCAT(CRMContacts.CustomerId, "_Work") as PhoneId,
    CRMContacts.CustomerId as CustomerId,
    CRMContacts.WorkPhone as PhoneNumber, 
    "Work" as PhoneType
FROM CRMContacts
WHERE ISNOTNULL(CRMContacts.WorkPhone) AND CRMContacts.WorkPhone <> ""

После выполнения трансформации данных целевой ООД содержит одну запись для каждого типа номера телефона.

PhoneId CustomerId PhoneNumber PhoneType
C1_Mobile C1 408-512-2234 Мобильный
C1_Work C1 650-342-4612 Работа
C2_Home C2 310-453-3421 Главная
C2_Work C2 915-870-9900 Работа

Потом можно соотнести целевой DLO телефонов с DMO телефона точки контакта. DMO телефона точки контакта теперь содержит все три номера телефонов для каждого клиента.

Чтобы использовать оператор UNION в трансформации потоковых данных, каждый оператор SELECT должен:

  • Ссылайтесь на один исходный объект озера данных. В примере выше все три оператора SELECT используют один и тот же исходный объект озера данных CRMContacts.
  • Соотнесите с теми же полями для целевого ООД. Каждый оператор SELECT должен использовать одинаковую схему. В нашем примере все три оператора SELECT соотносятся с одним набором полей: PhoneId, CustomerId, PhoneNumber и PhoneType.
  • Создайте уникальное значение для поля основного ключа. Если неуникальные значения создаются для поля основного ключа, одно из неуникальных значений выбирается случайным образом. В нашем примере функция CONCAT() создает уникальные значения для поля основного ключа в целевом ООД.
  • Соотнесите уникальное поле с основным ключом или набор полей с основным ключом в выражении.

UNION может использоваться с не более чем пятью операторами SELECT.

 
Загрузка
Salesforce Help | Article