Skip to main content
Join the Agentforce Virtual Hackathon to build innovative solutions and compete for a $50k Grand Prize. Sign up now. Terms apply.

Aprender los conceptos de SQL

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Aprender los términos y conceptos de SQL.
  • Comprender la estructura de SQL de las perspectivas de Data Cloud.

Perspectivas en Data Cloud

Los datos se ingresan a Salesforce Data Cloud desde diversas fuentes. Las perspectivas le brindan una forma de crear nuevas métricas y organizar, agrupar y manipular los datos en su cuenta. Existen dos tipos de perspectivas según el lenguaje de consulta estructurado (SQL): calculadas y de transmisión. Las perspectivas calculadas permiten cálculos complejos basados en datos almacenados, mientras que las perspectivas de transmisión se crean conforme a datos en tiempo real. Como se menciona en Crear perspectivas en Data Cloud, hay diversas maneras de crear nuevas perspectivas en Data Cloud. SQL es una de ellas. Si bien no es necesario que sea un experto en SQL para crear perspectivas, resulta útil saber cómo se usa SQL para crearlas. En este módulo, veremos los conceptos básicos de SQL y proporcionaremos ejemplos para ayudarlo a crear perspectivas en su cuenta.

Términos para la creación de perspectivas

Primero, veamos algunos términos comunes relacionados con las perspectivas.

  • Transmisiones de datos: las transmisiones de datos son fuentes de datos que se incorporan a Salesforce Data Cloud. Por ejemplo, una extensión de datos del cliente de Marketing Cloud.
  • Objetos de modelo de datos (DMO): las transmisiones de datos se asignan a un modelo de datos conforme a los DMO. Algunos DMO comunes incluyen pedidos de ventas, partes, datos de implicación, etc.
  • Atributos: los atributos son campos de información que se encuentran en una transmisión de datos. Por ejemplo, un atributo puede ser el nombre o la Id. de cliente de una persona.
  • Mediciones: las mediciones contienen valores agregados de atributos, como el importe total gastado o el importe de pedido medio.
  • Dimensiones: las dimensiones contienen valores cualitativos que pueden usarse para categorizar una medición. Por ejemplo, si desea ver el importe total gastado de cada cliente, la Id. de cliente podría ser una dimensión asociada con la medición del importe total gastado.
  • Clave externa: la clave externa es una columna en una base de datos relacional que proporciona un vínculo entre las fuentes de datos como, por ejemplo, un número de Id. de cliente.
  • Clave completamente cualificada: una clave completamente cualificada (FQK) es una clave compuesta que contiene una clave de origen, como una Id. de contacto de CRM o una Id. de suscriptor de Marketing Cloud, y un calificador de clave. Use claves completamente cualificadas para evitar conflictos de claves cuando se armonicen datos de distintas fuentes en el modelo de datos de Data Cloud.
  • Clave principal: un identificador único de un registro seleccionado por el usuario; por ejemplo, una dirección de email del cliente o un SKU de producto.

Estructura de SQL

Ahora que conoce los términos, veamos la estructura y las palabras clave de SQL que se utilizan para crear perspectivas de Data Cloud. SQL se escribe como una instrucción o expresión compuesta por palabras clave.

Estas palabras clave incluyen las siguientes:

SELECT: elija el nombre de API del campo del atributo y el cálculo que desea realizar.

FROM: identifique el nombre de API del objeto de la fuente de datos en la que desea buscar.

JOIN (opcional): use esta palabra clave para buscar también datos de otras fuentes de datos conforme a los criterios especificados. WHERE (opcional): utilice esta palabra clave para incluir una instrucción condicional sobre los datos. GROUP BY: identifique cómo desea organizar o categorizar la medición que seleccionó.

Así es como se escribe la declaración SQL.

SELECT <Attributes>, <Aggregation[_Measures_]>
FROM <Data Model Object>
JOIN [Inner | Left | Right | Full] <Data Model Object> [Optional]
WHERE <predicate on rows> [Optional]
GROUP BY <columns[_Dimensions_]>

Ejemplo

Este es un ejemplo que consulta el importe total gastado de un cliente.


SELECT
  SUM(ssot__SalesOrder__dlm.ssot__GrandTotalAmount__c) AS customer_spend__c,
  ssot__Individual__dlm.ssot__Id__c AS customer_id__c,
  ssot_Individual__dlm.KQ_Id__c AS kq_customer_id__c
FROM ssot__SalesOrder__dlm
JOIN ssot__Individual__dlm
ON (ssot__SalesOrder__dlm.ssot__SoldToCustomerId__c = ssot__Individual__dlm.ssot__Id__c)
AND IFNULL(ssot__SalesOrder__dlm.KQ_SoldToCustomerId__c, ‘’) = IFNULL(ssot__Individual__dlm.KQ_Id__c, ‘’)
WHERE
(ssot__SalesOrder__dlm.ssot__CreatedDate__c <= date_add(current_date(), 365.0))
GROUP BY
customer_id__c, kq_customer_id__c

Veamos más en detalle cada una de estas secciones.

Sección 1

SELECT
  SUM(ssot__SalesOrder__dlm.ssot__GrandTotalAmount__c) AS customer_spend__c,
  ssot__Individual__dlm.ssot__Id__c AS customer_id__c,
  ssot_Individual__dlm.KQ_Id__c AS kq_customer_id__c

Lo que hace: define la información que busca (gasto del cliente) y cómo desea agregar esa medición (suma). Cuando se calcula una métrica (gasto del cliente), se almacena como una medición customer_spend__c en el sistema.

Sección 2

FROM ssot__SalesOrder__dlm

Lo que hace: identifica la fuente de los datos (un DMO de pedido de ventas).

Sección 3


JOIN
 ssot__Individual__dlm
ON
(ssot__SalesOrder__dlm.ssot__SoldToCustomerId__c = ssot__Individual__dlm.ssot__Id__c)
AND IFNULL(ssot__SalesOrder__dlm.KQ_SoldToCustomerId__c, ‘’) = IFNULL(ssot__Individual__dlm.KQ_Id__c, ‘’)

Lo que hace: combina los datos de otro DMO (un DMO individual) con el DMO de pedido de ventas. ON determina el punto de conexión o la clave externa entre sus DMO. En este ejemplo, la clave externa entre los dos DMO incluye dos campos: la Id. de parte y el campo de calificador de clave del DMO SalesOrder, y la Id. y el campo de calificador de clave correspondiente del DMO de Individuo. La inclusión de los atributos del calificador de clave en la unión de la tabla asegura que los datos sean correctos. Utilice la función IFNULL() en caso de que no se hayan configurado los calificadores de clave en todos los DLO subyacentes. Puede haber una combinación de en blanco e IFNULL() que generará coherencia para mejorar la precisión de JOIN.

Sección 4

WHERE
ssot__SalesOrder__dlm.ssot__CreatedDate__c <= date_add(current_date(), 365.0))

Lo que hace: identifica los datos que desea o no desea incluir. En este ejemplo, la consulta no debería incluir clientes que gastaron dinero más de 365 días antes de la fecha actual.

Sección 5

GROUP BY
customer_id__c, kq_customer_id__c

Lo que hace: determina su dimensión o cómo desea agrupar los datos (por Id. de cliente y por atributo de calificador de clave de la Id. de cliente).

Objetos de modelo de datos

La primera parte de la expresión SQL se enfoca en la selección de atributos y mediciones basada en un objeto de modelo de datos (DMO). Entonces, ahora que sabe que el modelo de datos es fundamental, veamos algunos DMO comunes y atributos mensurables asociados.

DMO

Cómo se utiliza

Ejemplo de atributo mensurable

Parte

Define con quién establece relaciones, por lo general, clientes. Incluye perfiles de individuo unificado, que se suelen usar en perspectivas calculadas.

  • Cumpleaños en 7 días

Producto

Define todo lo que planea vender o cualquier parte de un producto para el seguimiento a los fines del servicio.

  • Zapatos de mujer de más de USD 50

Pedido de ventas

Define los ingresos, las oportunidades, las compras y los pedidos de ventas.

  • Valor del carrito de más de USD 500

Datos de implicación

Define las interacciones o actividades de los clientes, en general, relacionados con la implicación de email.

  • Al menos 5 clics en emails

Datos de caso

Define cualquier problema registrado o ticket de soporte.

  • >1 ticket abierto este último año

Funciones de SQL

Aprendió sobre los términos de SQL, la estructura y sus datos; ahora es momento de agregar funciones más complejas para consultar y manipular más los datos. Veamos algunas funciones disponibles en más detalle.

Uniones de SQL

Para comprender las uniones de SQL, revisemos qué datos se proporcionarían en la consulta conforme al tipo de unión. Utilizamos dos DMO de muestra para describir los siguientes cuatro tipos de uniones.

  • DMO 1: Pedido de ventas
  • DMO 2: Clientes individuales

Unión interna, unión izquierda, unión derecha y unión completa.

JOIN o INNER JOIN

LEFT JOIN

RIGHT JOIN

FULL JOIN

Descripción

Devuelve registros con valores coincidentes en ambos DMO.

Excluye los registros que no deseamos del DMO 2.

Excluye los registros que no deseamos del DMO 1.

Devuelve todos los registros coincidentes de ambos DMO.

Resultado

Pedidos de ventas específicos de clientes específicos

Todos los pedidos de ventas y pedidos de ventas de clientes específicos

Todos los clientes y algunos pedidos de ventas de clientes específicos

Todos los pedidos de ventas y clientes, incluidos algunos registros coincidentes

Nota

¿Siente curiosidad por cómo los DMO se vinculan con perfiles unificados? Eche un vistazo a esta página de ayuda para obtener más información sobre la vinculación o unión de datos.

Caso

Otra función de SQL común es la instrucción CASE, que se puede usar para crear nuevas dimensiones. CASE se puede usar para devolver un valor cuando se cumple una condición.

SELECT CASE
WHEN
SUM(SALESORDER__dlm.grand_total_amount__c) < 100 THEN 'Low Spender'
End as Spend_Type__c

Lo que hace: cuando un cliente gasta menos de USD 100, se lo identifica como consumidor bajo. Cuando una condición es verdadera, deja de leer y devuelve el resultado. Si no hay condiciones verdaderas, devuelve el valor en la cláusula ELSE. En caso de que ELSE no esté definida y no haya condiciones verdaderas, devuelve NULL.

Funciones de formato

En ocasiones, debe realizar algunas funciones de limpieza antes de crear su perspectiva calculada final. Puede hacerlo mediante funciones de formato. Este es un ejemplo que utiliza la función ROUND para redondear un valor a un lugar decimal especificado.

Esta es la sintaxis específica de esta función.

ROUND(expression, number of decimal places)

Este ejemplo que utiliza esa expresión para redondear un pedido de ventas.

SELECT ROUND(Salesorder_dlm.total_amount, 2)

Lo que hace: en lugar de tener un gasto total del cliente que muestre USD 143,5555, esta función redondeará a 2 lugares decimales, y el resultado será USD 143,56.

Más funciones

Existen muchas más funciones que puede agregar a sus instrucciones SQL para refinar aún más los resultados. Resulta útil identificar su caso de uso y, luego, buscar posibles funciones que le permitan llegar a los datos deseados.

Nota

Visite Usar instrucciones SQL en Data Cloud para conocer todas las funciones disponibles.

Revisar ejemplos

Ahora que comprende los conceptos básicos de SQL y conoce la estructura, veamos algunos ejemplos en la siguiente unidad que lo ayudarán a resolver sus propios casos de uso.

Recursos

Volver arriba

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