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
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. |
¿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.
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.
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 |
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:
- Haga clic en Nueva automatización.
- Seleccione una fuente de inicio de Schedule (Cronograma) o File Drop (Entrega de archivo).
- 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).
- Seleccione Create New Query Activity (Crear nueva actividad de consulta).
- Agregue propiedades de la consulta: nombre, clave externa, ubicación de la carpeta y descripción.
- 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())
Una vez que finalizó, Maggie sigue los pasos restantes.
- Haga clic en Validate Syntax (Validar sintaxis).
- Seleccione la extensión de datos que creó para almacenar los resultados de la consulta.
- Seleccione la acción de datos que realiza la actividad de consulta: Append (Anexar), (Update) Actualizar u Overwrite (Sobreescribir).
- 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.