Loading
Informazioni su Salesforce Data 360
Caso d'uso Normalizzazione dei dati con UNION

Caso d'uso Normalizzazione dei dati con UNION

Normalizzare i dati inseriti in Data 360 con le trasformazioni dati in streaming.

Vediamo un esempio. Il DLO di origine CRMContacts contiene fino a tre numeri di telefono per ogni cliente.

CustomerId Nome MobilePhone HomePhone WorkPhone
C1 John 408-512-2234   650-342-4612
C2 Peter   310-453-3421 915-870-9900

se l'oggetto data lake CRMContacts viene mappato direttamente all'oggetto modello di dati Telefono punto di contatto, è possibile mappare un solo punto di contatto: MobilePhone o HomePhone o WorkPhone. Di conseguenza, solo uno dei tre numeri di telefono è disponibile nelle aree dei prodotti che utilizzano l'oggetto modello di dati, ad esempio approfondimenti calcolati, risoluzione dell'identità e segmentazione.

Di seguito viene descritto come utilizzare una trasformazione dati in streaming per rendere disponibili tutti e tre i numeri di telefono.

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 <> ""

Dopo l'esecuzione della trasformazione dati, il DLO di destinazione contiene un record per ogni tipo di numero di telefono.

PhoneId CustomerId PhoneNumber PhoneType
C1_Mobile C1 408-512-2234 Cellulare
C1_Work C1 650-342-4612 Lavoro
C2_Home C2 310-453-3421 Pagina iniziale
C2_Work C2 915-870-9900 Lavoro

Quindi, è possibile mappare il DLO Telefoni di destinazione al DMO Telefono punto di contatto. Il DMO Telefono punto di contatto ora contiene tutti e tre i numeri di telefono per ogni cliente.

Per utilizzare l'operatore UNION in una trasformazione dati in streaming, ogni istruzione SELECT deve:

  • Fare riferimento allo stesso oggetto data lake di origine. Nell'esempio precedente, tutte e tre le istruzioni SELECT utilizzano lo stesso oggetto data lake di origine CRMContacts.
  • Mappare agli stessi campi per il DLO di destinazione. Ogni istruzione SELECT deve avere lo stesso schema. Nel nostro esempio, tutte e tre le istruzioni SELECT vengono mappate allo stesso insieme di campi: PhoneId, CustomerId, PhoneNumber e PhoneType.
  • Generare un valore univoco per il campo della chiave principale. Se per il campo della chiave principale vengono generati valori non univoci, uno dei valori non univoci viene selezionato in modo casuale. Nel nostro esempio, la funzione CONCAT() genera valori univoci per il campo chiave principale nel DLO di destinazione.
  • Avere un campo univoco mappato a una chiave principale o un insieme di campi mappati a una chiave principale in un'espressione.

UNION può essere utilizzato con un massimo di cinque istruzioni SELECT.

 
Caricamento
Salesforce Help | Article