Skip to main content

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.
Clics y  Aperturas
_Click

_Open
Consulte estas vistas de datos en Automation Studio para ver datos de clics y aperturas de los emails de su cuenta de Marketing Cloud Engagement.
Ayuda a identificar oportunidades de mensaje adicionales al indicar la implicación de un suscriptor en un JobID específico.
Reclamación
_Complaint
Consulte esta vista 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, 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 de reclamació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