Utilizar fórmulas de texto


Link de trailhead

Objetivos de aprendizaje

Después de completar esta unidad, podrá:
  • Describir lo que es el tipo Texto.
  • Convertir valores de Texto en otros tipos de datos.
  • Describir casos de uso para fórmulas con el tipo Texto.
  • Crear una fórmula utilizando el tipo Texto.

Introducción al Texto en fórmulas

A veces la manera más sencilla de hacer legible la información de su organización de un vistazo es mostrarla como texto. Las fórmulas que utilizan el tipo de devolución Texto pueden concatenar valores de Texto, convertir números y fechas en texto o mostrar texto de manera condicional.

La manera más sencilla que puede utilizar es concatenar dos cadenas de Texto con el operador &. Por ejemplo, puede mostrar el nombre completo de un contacto combinando el nombre y los apellidos.

FirstName & " " & LastName

Cuando ponga valores de Texto juntos, tenga en cuenta los espacios necesarios de modo que sus cadenas no se muestren como algo ilegible: “Juana García” es mucho más legible que “JuanaGarcía”.

Funciones y operadores de texto comunes

Salesforce viene con muchas funciones y operadores que facilitan el trabajo con el Texto en fórmulas. Utilizando fórmulas, puede convertir otros tipos de datos a Texto y concatenar valores de Texto entre sí o buscar una cadena específica dentro de un campo de Texto.

Conversión de valores de Texto

TEXT() convierte un campo de Porcentaje, Número, Fecha, Fecha/Hora, Lista de selección o Divisa en Texto. TEXT() devuelve resultados sin ningún tipo de formato, comas o signos de divisa. Por ejemplo, TEXT(valor_porcentaje), si valor_porcentaje se establece en el 30%, devuelve 0,3.

Cuando TEXT() recibe un valor de Fecha o Fecha/Hora, devuelve una cadena con formato estándar de Fecha o Fecha/Hora. Por ejemplo, si if valor_fecha se corresponde con el 17 de marzo de 2015, TEXT(valor_fecha) devuelve 2015-03-17. Para valor_fechahora, el 17 de marzo de 2015 a las 5 PM, TEXT(valor_fechahora) devuelve 2015-03-17 17:00:00Z. La Z indica que la hora se devuelve en GMT: TEXT() siempre devuelve valores de Fecha/Hora en GMT, no en la zona horaria del usuario actual o de su organización.

También puede convertir valores de otra forma utilizando VALUE(), que emplea un valor de Texto y devuelve un Número. Si VALUE() recibe un valor que no es un Número, incluyendo caracteres especiales que no sean puntos decimales o el signo menos (negativo), muestra #Error!. Por ejemplo, si valor_texto es $500, VALUE(valor_texto) devuelve un error. VALUE() también devuelve un error si valor_texto está en blanco.

Otras funciones de texto

BEGINS(texto, texto_comparación) devuelve verdadero si el texto comienza con texto_comparación. Del mismo modo, CONTAINS(texto, texto_comparación) devuelve verdadero si texto_comparación está en cualquier punto en texto. Estas funciones son útiles para mostrar información de manera condicional en base a un campo de texto.

La función SUBSTITUTE(texto, texto_anterior, texto_nuevo) devuelve texto con cualquier instancia de texto_anterior sustituida por texto_nuevo, de forma muy parecida a la función de buscar y sustituir de un editor de texto.

Salesforce incluye otras funciones para trabajar y dar formato al texto en fórmulas. Para obtener más información, consulte Operadores y funciones de fórmulas en la Ayuda online de Salesforce.

Utilizar el tipo Texto en fórmulas

Asignar una calificación de cuenta

A menudo, las fórmulas que utilizan el tipo de devolución Texto muestran información que es difícil de cuantificar. Podría, por ejemplo, utilizar una fórmula de Texto para determinar si un prospecto es Cálido, Templado o Frío. Redactaremos una fórmula que utilice la lógica condicional y la función ISPICKVAL() para devolver la calificación de un prospecto.

Para este ejemplo, calificamos un prospecto en base a sus ingresos, país y origen.

  • Cálido: AnnualRevenue es superior a 1 millón de $, Country es Estados Unidos y LeadSource es Referencia de socio.
  • Templado: AnnualRevenue es superior a 1 millón de $, Country es Estados Unidos y LeadSource es Lista comprada o Web.
  • Frío: La cuenta no cumple ninguna de esas condiciones.

Esta fórmula emplea una serie de instrucciones IF(), AND() y OR() para comprobar estas condiciones y evalúa el campo Lead Source empleando ISPICKVAL(). La fórmula también utiliza una instrucción CASE() para comprobar Country. Si el país es EE.UU., USA, América o Estados Unidos, la instrucción CASE() devuelve US. En caso contrario, devuelve NA (no aplicable).

Un árbol de opciones nos ayuda a seguir con mayor facilidad el flujo lógico de nuestra fórmula.


Este árbol de opciones nos ayuda a visualizar la fórmula de calificación de prospectos.

  1. En Configuración, use el cuadro Búsqueda rápida para encontrar el Gestor de objetos.
  2. Haga clic en Prospecto | Campos y relaciones y haga clic en Nueva.
  3. Seleccione Fórmula y haga clic en Siguiente.
  4. Para Etiqueta de campo, ingrese Calificación. Nombre de campo se completa automáticamente.
  5. Seleccione Texto y haga clic en Siguiente.
  6. Ingrese la fórmula siguiente:
    IF(
      AnnualRevenue > 1000000 &&
      CONTAINS(CASE(Country, "United States", "US", "America", "US", 
        "USA", "US", "US", "US", "NA"), "US"),
      IF(
        ISPICKVAL(LeadSource, "Partner Referral"), "Hot",
        IF(
          ISPICKVAL(LeadSource, "PurchasedList") ||
          ISPICKVAL(LeadSource, "Web"),
          "Warm", "Cold"
        )
      ), "Cold"
    )

El nuevo campo de fórmula Calificación muestra Cálido, Templado o Frío en base a las características de un prospecto.

Visualizar una imagen con CASE()

Las fórmulas con el tipo de devolución Texto son útiles para más que solo el texto: puede utilizarlas para mostrar imágenes. Las imágenes hacen que la información sea fácil de asimilar de un vistazo y llaman más la atención que el texto solo. Redactemos una fórmula que utiliza el campo Calificación que acaba de crear para mostrar la calificación de un prospecto gráficamente como cero, una, tres o cinco de cinco estrellas.

La función IMAGE() utiliza hasta cuatro argumentos. IMAGE(url_imagen, texto_alternativo, altura, anchura) muestra la imagen especificada por url_imagen con las dimensiones especificadas por los argumentos opcionales altura y anchura. Si la imagen no puede mostrarse, la función muestra texto_alternativo.

Si la Calificación del prospecto es:

  • Cálida, la fórmula muestra cinco estrellas
  • Templada, la fórmula muestra tres estrellas
  • Fría, la fórmula muestra una estrella

Si Calificación del prospecto está en blanco, la fórmula no muestra estrellas.

Cree un campo de fórmula con el tipo de devolución Texto y el nombre Calificación de estrellas. En el Editor de fórmulas avanzadas, ingrese:

IMAGE(
  CASE(Rating__C,
    "Hot", "/img/samples/stars_500.gif",
    "Warm", "/img/samples/stars_300.gif",
    "Cold", "/img/samples/stars_100.gif",
    "/img/samples/stars_000.gif"),
"Unknown")

Esta fórmula utiliza imágenes incorporadas en Salesforce, pero puede utilizar sus propias imágenes cargándolas primero desde la ficha Documentos.

Ejemplos de texto

  1. Esta fórmula utiliza el campo Estado/Provincia de facturación de una cuenta con sede en EE.UU. para clasificarla como Norte, Sur, Este, Oeste o Central.
    IF(ISBLANK(BillingState), "None",
    IF(CONTAINS("AK:AZ:CA:HA:NV:NM:OR:UT:WA", BillingState), "West",
    IF(CONTAINS("CO:ID:MT:KS:OK:TX:WY", BillingState), "Central",
    IF(CONTAINS("CT:ME:MA:NH:NY:PA:RI:VT", BillingState), "East",
    IF(CONTAINS("AL:AR:DC:DE:FL:GA:KY:LA:MD:MS:NC:NJ:SC:TN:VA:WV", BillingState), "South",
    IF(CONTAINS("IL:IN:IA:MI:MN:MO:NE:ND:OH:SD:WI", BillingState), "North", "Other"))))))
  2. Esta fórmula integra un vínculo con la función HYPERLINK(). Normalmente, HYPERLINK(url, texto_visualización, destino) muestra un vínculo a url con texto_visualización. El argumento opcional destino determina cómo se muestra la página web cuando se hace clic en el vínculo. Si deja destino en blanco, el vínculo se abre en una nueva ventana de navegador de manera predeterminada.
    HYPERLINK("https://www.salesforce.com", "Salesforce")
  3. Esta fórmula emplea el campo Email y lo utiliza para crear una URL. La fórmula utiliza FIND() y SUBSTITUTE() para encontrar el signo @ en la dirección de email y sustituye todo lo que hay a la izquierda de él por www.
    SUBSTITUTE(Email, LEFT(Email, FIND("@", Email)), "www.")

Errores comunes con fórmulas de texto

Convertir valores a texto. Asegúrese de que comprueba el tipo de un campo antes de utilizarlo en una fórmula. Por ejemplo, un administrador anterior de Salesforce podría haber creado un campo personalizado que aloje una fecha como un valor de Texto. Si ese es el caso, puede utilizar TEXT() o DATEVALUE() para trabajar con valores de Texto y Fecha conjuntamente.

Crear campos de fórmula asistente

El uso de campos de fórmula asistente es una excelente manera de hacer que sus fórmulas sean cortas y fáciles de comprender. Un campo asistente solo hace parte de un cálculo mayor y se hace referencia a él por el campo de fórmula final. Puede utilizar campos de fórmula asistente con cualquier tipo de fórmula, pero miremos un ejemplo ahora mismo.

Digamos que desea redactar una fórmula de texto denominada Case_Category__c que muestra una categoría para un caso (Verde, Amarilla o Roja) dependiendo del tiempo que estuvo abierto el caso. Normalmente, redactaría algo como esto.

IF(((NOT(IsClosed)) && (TODAY() - DATEVALUE(CreatedDate) > 20)), "RED",
 IF((NOT(IsClosed)) && (TODAY() - DATEVALUE(CreatedDate) > 10), "YELLOW",
 "GREEN"))
Puede simplificar esta fórmula poniendo la lógica para calcular la edad del caso en otro campo de fórmula. Llamemos a este campo Case_Age_In_Days__c.
TODAY() - DATEVALUE(CreatedDate)
Luego, podemos volver a redactar Case_Category__c de este modo.
IF(((NOT(IsClosed)) && (Case_Age_In_Days__c > 20)), "RED",
 IF((NOT(IsClosed)) && (Case_Age_In_Days__c > 10), "YELLOW",
 "GREEN"))
No solo esta fórmula es más corta y fácil de entender, también puede reutilizar su fórmula asistente en cualquier lugar que necesite calcular la edad de un caso. Impresionante.

¿Le ha resultado útil este artículo?