Crear un campo calculado para automatizar los cálculos manuales

Este tema se aplica a Dynamics 365 Customer Engagement (on-premises). Para la versión de Power Apps de este tema, consulte: Definir campos calculados para automatizar los cálculos manuales

Los campos calculados permiten automatizar cálculos manuales que se usan en los procesos de negocio. Por ejemplo, un comercial puede querer conocer los ingresos ponderados de una oportunidad que se basan en los ingresos estimados de una oportunidad multiplicados por la probabilidad. O bien, automáticamente desea aplicar un descuento, si un pedido es superior a $500. Un campo calculado puede que contenga valores resultado de simples operaciones matemáticas, u operaciones condicionales, por ejemplo, Mayor que o If-Else, y muchos otras. Puede llevar a todo esto utilizando la interfaz de usuario de la función de campos calculados, sin necesidad de escribir código.

Las capacidades de los campos calculados:

  • Los campos calculados se componen de cálculos que utilizan los campos de la entidad actual o de entidades primarias relacionadas.

  • El soporte de expresión está disponible en los campos de la entidad actual y las entidades principal relacionadas en las secciones Condición y las secciones Acción. Las funciones integradas son:

    ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS, SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT, TRIMLEFT y TRIMRIGHT.

  • Un soporte condicional rico proporciona bifurcación y condiciones múltiples. Las operaciones lógicas incluyen los operadores AND y OR.

  • Las funcionalidades de edición visual incluyen una moderna interfaz de usuario e intellisense en la sección ACCIÓN.

  • Una integración sin problemas de los campos calculados con formularios, vistas, gráficos e informes está disponible en tiempo real.

  • Si actualizó a su organización Online a la actualización de diciembre de 2016 para Dynamics 365 (online), puede configurar campos calculados para usar controles personalizados.

Algunos ejemplos de los campos calculados

  • Ingresos ponderados: Ingresos estimados multiplicados por probabilidad

  • Valor neto: Activos restados de los pasivos de una cuenta determinada

  • Costo de mano de obra: Tasa base hasta 40 horas, más horas extras adicionales

  • Número de contacto: Número de teléfono para una cuenta o contacto basados en una oportunidad

  • Cuenta de cliente potencial: Un campo que proporciona ideas sobre la calidad de un cliente potencial determinado

  • Seguimiento por: Seguimiento de una actividad un número especificado de días en función de su prioridad

Importante

Para crear un campo calculado debe tener el privilegio de Escritura en la entidad Perfil de seguridad de campo. Si el campo calculado usa los campos protegidos en un cálculo, debe considerar proteger el campo calculado también, para evitar que los usuarios accedan a datos para los que no tienen suficientes permisos. El editor del campo calculado proporciona una advertencia, si usted está creando un campo calculado que usa campos protegidos en un cálculo, sugiriendo que proteja el campo calculado. Más información: Seguridad de nivel de campo.

Ejemplos de campos calculados

Veamos ejemplos de campos calculados con mayor detalle. Definiremos los campos calculados con el Editor de campos. Para abrir el Editor de campos:

  1. Abra el explorador de soluciones

  2. Expanda Componentes>Entitidades.

  3. Seleccione la entidad que desee y que elija Campos. Elija Nuevo.

    En el editor, proporcione la información necesaria para el campo, incluidos Tipo de campo y Tipo de datos. El Tipo de campo es Calculado. Los tipos de datos disponibles para el campo calculado:

  • Línea de texto única

  • Conjunto de opciones

  • Dos opciones

  • Número entero

  • Número decimal

  • Divisa

  • Fecha y hora

    El botón Editar junto a Tipo de campo le llevará al editor de definición de campos calculados, donde se ha creado el nuevo campo calculado, pero no se ha establecido ninguna fórmula. La definición del campo calculado consta de dos secciones: CONDICIÓN y ACCIÓN.

  • En la sección Condición puede especificar una entidad, un campo, un operador, tipo y un valor. En la lista desplegable para Entidad, puede seleccionar una entidad actual o una entidad relacionada. En el cuadro desplegable Campo tiene una selección de todos los campos disponibles para la entidad. Según el operador que elija, puede ser necesario proporcionar el tipo y el valor. Puede especificar varias condiciones mediante los operadores AND o OR

  • En la sección Acción, proporcione la fórmula para el campo calculado.

Nota

Puede usar datos de registros de búsqueda en la acción. Primero tiene que seleccionar el campo de búsqueda y después especificar un período. Después, puede seleccionar uno de los campos disponibles en la entidad relacionada. Por ejemplo, en el caso de <LookupFieldName>.<RelatedFieldName>, puede seleccionar: ParentAccountId.AccountNumber.

Tenga en cuenta que la seguridad de nivel de campo se omitirá en la entidad relacionada, por lo que si hay datos confidenciales en el campo al que se ha accedido le recomendamos que también proteja el campo calculado.

Ingresos ponderados de oportunidad

En este ejemplo usamos los campos de la entidad de oportunidad para calcular los ingresos ponderados basados en la probabilidad de la oportunidad. En el editor de campos para una entidad de oportunidad, creamos un campo denominado "Ingresos ponderados" y especificamos el tipo de campo como Calculado y el tipo de datos como Divisa. En el editor de definición de campos calculados, en la sección Condición, especificamos la oportunidad con el Estado = Abierto. En la ACCIÓN, la fórmula calcula los ingresos ponderados a partir de los ingresos estimados de la oportunidad multiplicados por la probabilidad de la oportunidad. Las siguientes capturas de pantalla muestran paso a paso cómo definir el campo calculado Ingresos ponderados.

Cree el campo calculado denominado "Ingresos ponderados":

Ingresos ponderados de oportunidad en Dynamics 365 for Customer Engagement.

Fije la condición de las oportunidades:

Establecer ingresos ponderados en Dynamics 365 for Customer Engagement.

Proporcione la fórmula para los ingresos ponderados:

Establecer valor estimado de lo ingresos ponderados en Dynamics 365 for Customer Engagement.

En conjunto:

Ingresos ponderados a ingresos est. en Dynamics 365 for Customer Engagement.

Fecha de seguimiento de oportunidad

En este ejemplo utilizamos los campos del cliente potencial que originó una oportunidad para calcular la fecha adecuada para realizar seguimiento de la oportunidad. En el editor de campos para una entidad de oportunidad, creamos un campo denominado "Fecha de seguimiento" y especificamos el tipo de campo como Calculado y el tipo de datos como Fecha y hora. En el editor de la definición de campos calculados, en la sección Condición, especificamos dos condiciones: plazo de tiempo de la compra y valor estimado de cliente potencial. En la ACCIÓN, proporcionamos dos fórmulas, una para seguimiento a una semana de la oportunidad inmediata, y otra para seguimiento a un mes, si no es probable que la oportunidad se dé inmediatamente. Las siguientes capturas de pantalla muestran paso a paso cómo definir el campo calculado "Fecha de seguimiento".

Cree el campo calculado denominado "Fecha de seguimiento":

Cree el campo calculado denominado Fecha de seguimiento.

Fije las dos condiciones del cliente potencial original:

Configurar la primera condición para el campo calculado.

Configurar la segunda condición para el campo calculado.

Proporcione la fórmula para seguimiento a una semana:

Proporcionar la fórmula para el campo calculado.

Proporcione la fórmula para seguimiento a un mes:

Proporcionar la segunda fórmula.

En conjunto:

Establecer fecha de seguimiento If-Then & Else en Dynamics 365 for Customer Engagement.

Días desde la creación de un registro

En este ejemplo, usamos la función DIFFINDAYS para calcular la diferencia en días desde la hora en que se creó un registro hasta la fecha actual.

Cree el campo calculado llamado "Diferencia calculada en días":

Crear campo calculado en Dynamics 365 for Customer Engagement.

Proporcione la fórmula para calcular la diferencia en días

Campo calculado, función DIFFINDAYS.

En conjunto:

Diferencia en días desde la creación de registros.

Sintaxis de funciones de campos calculados

La siguiente tabla contiene información acerca de la sintaxis de las funciones suministradas en la sección ACCIÓN del campo calculado.

Propina

Los nombres de función se especifican en letras mayúsculas.

Sintaxis de la función Descripción Tipo devuelto
ADDDAYS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, más el número de días especificado. Fecha y hora
ADDHOURS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, más el número de horas especificado. Fecha y hora
ADDMONTHS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, más el número de meses especificado. Fecha y hora
ADDWEEKS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, más el número de semanas especificado. Fecha y hora
ADDYEARS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, más el número de años especificado. Fecha y hora
SUBTRACTDAYS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, menos el número de días especificado. Fecha y hora
SUBTRACTHOURS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, menos el número de horas especificado. Fecha y hora
SUBTRACTMONTHS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, menos el número de meses especificado. Fecha y hora
SUBTRACTWEEKS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, menos el número de semanas especificado. Fecha y hora
SUBTRACTYEARS (número entero, fecha y hora) Devuelve una nueva fecha y hora que es igual a la fecha y hora dadas, menos el número de años especificado. Fecha y hora
DIFFINDAYS (fecha y hora, fecha y hora) Devuelve la diferencia en días entre dos campos Fecha y hora. Si ambas fechas y horas coinciden en el mismo día, la diferencia es cero. Número entero
DIFFINHOURS (fecha y hora, fecha y hora) Devuelve la diferencia en horas entre dos campos Fecha y hora. Número entero
DIFFINMINUTES (fecha y hora, fecha y hora) Devuelve la diferencia en minutos entre dos campos Fecha y hora. Número entero
DIFFINMONTHS (fecha y hora, fecha y hora) Devuelve la diferencia en meses entre dos campos Fecha y hora. Si ambas fechas y horas coinciden en el mismo mes, la diferencia es cero. Número entero
DIFFINWEEKS (fecha y hora, fecha y hora) Devuelve la diferencia en semanas entre dos campos Fecha y hora. Si ambas fechas y horas coinciden en la mismo semana, la diferencia es cero. Número entero
DIFFINYEARS (fecha y hora, fecha y hora) Devuelve la diferencia en años entre dos campos Fecha y hora. Si ambas fechas y horas coinciden en el mismo año, la diferencia es cero. Número entero
CONCAT (una línea de texto, una línea de texto, ... línea de texto única) Devuelve una cadena que es el resultado de concatenar dos o más cadenas. Cadena
TRIMLEFT (una línea de texto, número entero) Devuelve una cadena que contiene una copia de una cadena especificada sin los primeros N caracteres. Cadena
TRIMRIGHT (una línea de texto, número entero) Devuelve una cadena que contiene una copia de una cadena especificada sin los últimos N caracteres. String

Nota

Todas las funciones DIFF requieren que el primer campo de Fecha y hora y el segundo campo de Fecha y hora tengan el mismo comportamiento: Local del usuario, Solo fecha o Independiente de zona horaria. Si no coincide el comportamiento del segundo campo con el comportamiento del primer campo, el mensaje de error aparece, indicando que el segundo campo no se puede usar en la función actual. Más información: Comportamiento y formato del campo de fecha y hora.

Nota

No puede especificar una fecha, como 01/01/2015, como el valor Fecha en un campo calculado. Los valores de Fecha y Fecha y hora solo se pueden configurar o comparar usando otros campos Fecha y hora.

En la función CONCAT , puede usar cadenas literales como líneas individuales de texto, campos de entidad que contienen una sola línea de texto, o una combinación de ambos. Por ejemplo: CONCAT (FirstName, LastName, "es un jefe"). Si una cadena literal contiene comillas, preceda cada marca con el carácter de escape de barra diagonal inversa (\), de este modo: "Esta cadena contiene las \"comillas.\"." Esto garantiza que las comillas dentro de cadena no se tratan como caracteres especiales que separan las cadenas.

Los siguientes ejemplos muestran cómo usar las funciones TRIMLEFT y TRIMRIGHT. Contienen las cadenas iniciales y las cadenas resultantes, devueltas por las funciones TRIMLEFT y TRIMRIGHT:

TRIMLEFT (“RXX10-3456789”, 3), devuelve la cadena “10-3456789”
TRIMRIGHT (“20-3456789RXX”, 3), devuelve la cadena “20-3456789”

Consideraciones acerca de los campos calculados

Debe conocer determinadas condiciones y limitaciones cuando trabaja con campos calculados:

  • Las consultas, gráficos, y las visualizaciones guardados pueden tener un máximo de 10 campos calculados únicos.

  • Los valores de los campos calculados no se muestran en modo sin conexión de Outlook de Customer Engagement en las vistas de ventana o en los formularios principales de entidad.

  • El número máximo de los campos calculados encadenados es 5.

  • Un campo calculado no puede hacer referencia a sí mismo o tener cadenas cíclicas.

  • Si cambia uno de los operadores de condición en una cláusula de condición múltiple, todos los operadores de condición se actualizarán a esa condición. Por ejemplo, en la cláusula IF (x > 50) OR (y ==10) OR (z < 5), si cambia el operador OR al operador AND, todos los operadores OR de la cláusula se convertirán en operadores AND.

  • Puede obtener acceso a campos primarios mediante el campo de búsqueda en la entidad primaria, como <LookupFieldName>.<FieldName>. Esto no es posible con los campos de búsqueda de varias entidades como Customer, que puede ser Account o Contact. Sin embargo, algunas entidades tienen campos de búsqueda individuales para una entidad específica, como ParentAccountid.<FieldName> o ParentContactid.<FieldName>.

  • El orden está deshabilitado en:

    • Un campo calculado que contiene un campo de un registro primario.

    • Un campo calculado que contiene un campo lógico (por ejemplo, el campo de dirección).

    • Un campo calculado que contiene otro campo calculado.

  • Los campos calculados solo pueden abarcar dos entidades.

    • Un campo calculado puede contener un campo de otra entidad (que abarca dos entidades - entidad actual y registro primario).

    • Un campo calculado no puede contener un campo calculado procedente de otra entidad que también contenga otro campo de una entidad distinta (abarcando tres entidades):
      (Entidad actual) Campo calculado <- (Registro primario) Campo calculado 1 <- (Registro primario) Campo calculado 2.

  • No se pueden desencadenar flujos de trabajo o complementos en los campos calculados.

  • No puede cambiar un campo simple existente en un campo calculado. Si la aplicación actual está usando JavaScript o complementos para calcular un campo, no podrá usar la característica de campos calculados sin crear un nuevo campo.

  • Las reglas de detección de duplicados no se activan en campos calculados.

  • Un consolidado no puede hacer referencia a un campo calculado que use otro campo calculado, incluso si todos los campos del otro campo calculado están en la entidad actual.

Vea también

Crear y editar campos
Definir campos consolidados
Vídeo: Campos consolidados y calculados en Dynamics CRM 2015