Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Consultar datos con SQL

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Definir qué es SQL y por qué se usa.
  • Utilizar SQL en Marketing Cloud Engagement.
  • Identificar las mejores prácticas para usar SQL.

¿Qué es SQL?

Se mudó a Marketing Cloud Engagement, desembaló e incluso empezó a organizar su espacio. Ahora hagamos los retoques finales. Como mencionamos anteriormente, las extensiones de datos de Marketing Cloud Engagement y Contact Builder usan una base de datos relacional. Entonces, necesita una manera efectiva de acceder a todos esos datos enriquecidos. Ingrese: Lenguaje de consulta estructurado (o SQL), un lenguaje específico de dominio que hace eso mismo. En Marketing Cloud Engagement, una actividad de consulta SQL se usa a fin de realizar consultas y recuperar datos para la generación de reportes o la segmentación de audiencias. 

Utilizar SQL en Marketing Cloud Engagement

Primero, revisemos cómo se usan algunos comandos de SQL específicos en Marketing Cloud Engagement.

  • SELECT: comando para ubicar datos en una base de datos.
  • FROM: ubicación donde se encuentran los datos en Marketing Cloud Engagement (en general, una extensión de datos).
  • JOIN: permite que la consulta busque en varias tablas y extensiones de datos.
  • WHERE: se usa para filtrar los datos que desea y los que no.

A continuación se incluye un ejemplo.

SELECT
 emailaddress as ‘Email_Address’, favoritecolor as ‘Favorite_Color’
FROM
 [MasterData Extension] 
m
INNER JOIN
 JuneMarketingSend 
j
ON

 

m
.emailaddress = 
j
.emailaddress
WHERE
m
.emailaddress is not NULL

¿Necesita una traducción? Al ejecutar esta consulta, recupera el email y color favorito de la extensión de datos principal, y une esto con las direcciones de email que coincidan del envío de marketing de junio. Además, solo devuelve los emails que no faltan. También note la m y la j. Estos son alias de SQL que se usan para asignar un nombre temporal a una tabla o un campo en una tabla. Esto es útil, en especial, cuando tiene un nombre de campo común entre extensiones de datos, como CustomerID o EmailAddress. También puede aparecer escrito similar a lo siguiente:

SELECT
 o.OrderID, o.OrderDate, c.CustomerName
FROM
 Customers AS c, Orders AS o
WHERE
 c.CustomerID=o.CustomerID
Nota

Los comandos SQL no distinguen mayúsculas de minúsculas: select es lo mismo que SELECT.

Vistas de datos de SQL

Las vistas de datos de sistema son consultas creadas por Salesforce que puede usar para encontrar información acerca de sus suscriptores. Solo recuerde que no podrá realizar cambios en estas vistas de datos creadas previamente. Estas son algunas de las vistas que se usan con más frecuencia.

Vista de datos

Query

Información

Devolución

_bounce

Identifique y, luego, suprima las direcciones de email que se suelen devolver desde los envíos.

Click (Clics) y Open (Aperturas)

_Click


_Open

Consulte estas visualizaciones de datos en Automation Studio para ver los datos de clic y apertura para los emails de su cuenta de Marketing Cloud Engagement.

Puede identificar las oportunidades de mensajería adicionales al indicar la implicación de suscriptores en un JobID específico.

Reclamación

_Complaint

Consulte esta visualización de datos en Automation Studio para ver los datos de reclamación relacionados con emails de su cuenta de Marketing Cloud Engagement.

Esta vista permite reducir sus listas para garantizar audiencias más precisas y mejorar la capacidad de entrega.

Orquestación

_Journey

Busque un estado de trayectoria, fecha de creación y de la última modificación, y otro tipo de información general sobre la trayectoria con esta vista de datos de Journey Builder.

Nota

Los datos de seguimiento de clics y aperturas se muestran en hora central estándar (CST), no tienen en cuenta el Horario de verano y se redondea al segundo.

¿Cómo utilizar estas vistas de datos? Primero, cree una extensión de datos para almacenar la información que necesita de estas vistas y diríjase a Automation Studio para crear una actividad de consulta en función de la tabla de vista de datos deseada. Una vez que completó y ejecutó la automatización, el resultado se almacena en la extensión de datos que creó.

Este es un ejemplo de consulta que extrae datos de la vista de datos Bounce (Devolución) de los últimos 6 meses y proporciona SubscriberKey, JobIDs y Bounce Reasons (Motivos de devolución).

SELECT
 SubscriberKey,JobID,SMTPBounceReason
FROM
 _Bounce

Unir datos con SQL

Más allá de las vistas de datos, las consultas SQL también se pueden personalizar para cumplir con una variedad de necesidades de negocio. Supongamos que quiere enviar un email que contiene datos almacenados en el registro de envío y datos que se encuentran en su extensión de datos del cliente. Para elaborar estas consultas, tendrá que entender el concepto de unión, es decir, unir los datos de una fuente con datos de otra fuente.

Las uniones SQL pueden ser complejas, así que revisemos algunos escenarios de unión con un diagrama de Venn. 

Gráfico de uniones SQL con diagramas 1-7 que muestran grupos de datos de A o B.

Empecemos por la primera fila, conocida como las uniones izquierda y derecha.

Diagrama 1: Unión izquierda externa

Quiere todos los registros de la extensión de datos A, así como los registros coincidentes en la extensión de datos B.

SELECT
 *
FROM
 DataExtension A
LEFT JOIN
 DataExtension B
ON
 A.Field = B.Field

Resultado de muestra

Extensión de datos A

Extensión de datos B

Nombre

Un email

Nombre

Un email

Joe

joe@email.com

Joe

joe@email.com

Jenn

jenn@email.com

nulo

nulo

Justin

justin@email.com

nulo

nulo

Diagrama 2: Unión izquierda externa con exclusiones

En esta unión, excluimos los registros que no queremos de la extensión de datos B.

SELECT
 *
FROM
 DataExtension A
LEFT JOIN
 DataExtension B
ON
 A.Field = B.Field
WHERE
 B.Field IS NULL

Resultado de muestra

Extensión de datos A

Extensión de datos B

Nombre

Un email

Nombre

Un email

Joe

joe@email.com

nulo

nulo

Jenn

jenn@email.com

nulo

nulo

Justin

justin@email.com

nulo

nulo

Diagramas 3 y 4: Uniones derechas

Para las uniones derechas, sucede lo opuesto que con los escenarios anteriores.

Diagrama

Código

3

SELECT
 *
FROM
 DataExtension A
RIGHT JOIN
 DataExtension B
ON
 A.Field = B.Field

4

SELECT
 *
FROM
 DataExtension A
RIGHT JOIN
 DataExtension B
ON
 A.Field = B.Field
WHERE
 A.Field IS NULL

Ahora miremos las uniones internas y externas. 

Gráfico de uniones SQL con diagramas 1-7

Diagrama 5: Unión interna

Esta consulta devuelve registros que tienen valores coincidentes en ambas extensiones de datos. 

SELECT
 *
FROM
 DataExtension A
INNER JOIN
 DataExtension B
ON
 A.Field = B.Field

Resultado de muestra

Extensión de datos A

Extensión de datos B

Nombre

Un email

Nombre

Un email

Joe

joe@email.com

Joe

joe@email.com

Jonathan

jonathan@email.com

Jonathan

jonathan@email.com

Diagrama 6: Unión externa completa

Las uniones externas completas devuelven todos los registros coincidentes de ambas extensiones de datos.

SELECT
 *
FROM
 DataExtension A
FULL OUTER JOIN
 DataExtension B
ON
 A.Field = B.Field

Resultado de muestra

Extensión de datos A

Extensión de datos B

Nombre

Un email

Nombre

Un email

Joe

joe@email.com

Joe

joe@email.com

Jenn

jenn@email.com

nulo

nulo

Justin

justin@email.com

nulo

nulo

nulo

nulo

Jennifer

jennifer@email.com

Jonathan

jonathan@email.com

Jonathan

jonathan@email.com

Diagrama 7: Unión externa 

Devuelve todos los registros coincidentes de ambas extensiones de datos, excepto los registros no deseados.

SELECT
 *
FROM
 DataExtension A
FULL OUTER JOIN
DataExtension B
ON
 A.Field = B.Field
WHERE
 A.Field IS NULL
OR
 B.Field IS NULL

Resultado de muestra

Extensión de datos A

Extensión de datos B

Nombre

Un email

Nombre

Un email

Joe

joe@email.com

nulo

nulo

Jenn

jenn@email.com

nulo

nulo

Justin

justin@email.com

nulo

nulo

nulo

nulo

Jennifer

jennifer@email.com

nulo

nulo

Jonathan

jonathan@email.com

Nota

Tenga precaución con las uniones externas, ya que pueden devolver conjuntos de resultados muy grandes.

Ver SQL en acción

Cloud Kicks tomó la decisión de enviar una oferta exclusiva a los clientes que abrieron un email en los últimos 6 meses y realizaron una compra en ese tiempo. La arquitecta de soluciones Maggie Quinn necesita completar esta tarea con una consulta SQL. Sigámosla. 

Maggie empieza por crear una extensión de datos para almacenar la información acerca de los clientes que cumplen con estos criterios. Luego, se dirige a Automation Studio y sigue estos pasos:

  1. Haga clic en Nueva automatización.
  2. Seleccione una fuente de inicio de Schedule (Cronograma) o File Drop (Entrega de archivo).
  3. Arrastre SQL Query (Consulta SQL) al flujo de trabajo y haga clic en Choose (Elegir). (Puede seleccionar una consulta existente o crear una nueva consulta).
  4. Seleccione Create New Query Activity (Crear nueva actividad de consulta).
  5. Agregue propiedades de la consulta: nombre, clave externa, ubicación de la carpeta y descripción.
  6. A continuación, cree su consulta SQL.

Maggie usa esta consulta. 

SELECT
 c.EmailAddress, c.CustomerID, c.First_Name
FROM
 Customers c
INNER JOIN
 Purchases p
ON
 c.CustomerID = p.CustomerID
WHERE
 [Purchase Date] > DateAdd(month, -6, GetDate())
AND
 [Open Date] > DateAdd(month, -6, GetDate())
Nota

Los nombres de campo y extensiones de datos que tienen espacios se deben encerrar entre corchetes [  ].

Una vez que finalizó, Maggie sigue los pasos restantes.

  1. Haga clic en Validate Syntax (Validar sintaxis).
  2. Seleccione la extensión de datos que creó para almacenar los resultados de la consulta.
  3. Seleccione la acción de datos que realiza la actividad de consulta: Append (Anexar), (Update) Actualizar u Overwrite (Sobreescribir).
  4. Haga clic en Guardar.

Ahora que está preparada, Maggie puede ejecutar la automatización. 

Consultas SQL comunes

Cuentas principales

Puede consultar las extensiones de datos en la carpeta Shared Data Extension (Extensión de datos compartida) de la cuenta principal agregando el prefijo ent. al nombre de la extensión de datos en la consulta. 

SELECT
 EmailAddress
FROM
 ent.MasterDataExtension

Todos los datos

A veces quiere todo.

SELECT
 *
FROM
 MasterDataExtension

Use SELECT * con cuidado, ya que puede ralentizar el sistema debido a que procesa una gran cantidad de datos. Cuando más grande es el conjunto de datos, mayor es el tiempo y el esfuerzo requeridos al sistema para obtener los datos. El tiempo de espera de la consulta se agota después de 30 minutos, por lo que cuantos más datos se deban procesar, mayor será la probabilidad de que se agote el tiempo de espera de la consulta. Para ayudar con esto, es más eficiente proporcionar los campos exactos que está buscando en la consulta. 

SELECT
 field1, field2, field3
FROM
 MasterDataExtension

Puede llevarle años volverse un experto en SQL, pero, por ahora, conoce lo fundamental. Esperamos que usted y sus datos estén bien acomodados en su nuevo hogar. Nos entusiasma ver lo que puede alcanzar con la potencia de sus datos de Marketing Cloud Engagement. 

Recursos

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios