Crear un campo calculado para automatizar os cálculos manuais

Este tema aplícase a Dynamics 365 Customer Engagement (on-premises). Para a versión de Power Apps deste tema, consulte:Defina campos calculados para automatizar os cálculos manuais

Os campos calculados permítenlle automatizar os cálculos manuais utilizados en procesos empresariais. Por exemplo, é posible que un comercial desexe saber os ingresos ponderados dunha oportunidade, que se basea nos ingresos estimados dunha oportunidade multiplicada pola probabilidade. Ou queren aplicar un desconto automaticamente, se un pedido é maior de $500. Un campo calculado pode conter valores resultantes de operacións matemáticas simples ou operacións condicionais, como maior que ou se tamén, entre outros. Pode obter todo isto utilizando a función de campos calculados; non é preciso crear códigos.

Capacidades de campo calculadas:

  • Os campos calculados constan de cálculos que utilizan os campos da entidade actual ou de entidades principais relacionadas.

  • A compatibilidade de expresións está dispoñible na entidade actual e nos campos da entidade principal relacionados nas seccións Condición e na Acción seccións. As funcións incorporadas inclúen:

    ADDHOURS, ADDDAYS, ADDWEEKS, ADDDAYS, ADDYEARS, RESTHORS, RESTRACTDAYS, RESTA SEMANAS, RESESTA MESES, RESTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINONES, CONCAT, TRIMLEFT e TRIMRIGHT.

  • Unha enriquecida asistencia condicional fornece ramificación e varias condicións. As operacións lóxicas inclúen operadores AND e OU .

  • As capacidades de edición visual inclúen unha interface de usuario moderna e intellisense na sección ACCIÓN .

  • Unha integración sen interrupcións dos campos calculados cos formularios, as visualizacións, as gráficas e os informes está dispoñible en tempo real.

  • Se actualizaches a túa organización en liña á actualización de decembro de 2016 para Dynamics 365 (online), podes configurar os campos calculados para utilizar controis personalizados.

Algúns exemplos dos campos calculados

  • Ingresos ponderados: ingresos estimados multiplicados por probabilidade

  • Costo total: recursos restados polas liabilities débedas dunha determinada conta

  • Custo de obra: salario básico até 40 horas, mais horas extra adicionais

  • Número de contacto: número de teléfono para unha oportunidade baseada nunha conta ou nun contacto

  • Puntuación do cliente potencial: campo individual que fornece información sobre a calidade dun cliente potencial determinado

  • Seguimento por: seguimento nunha actividade por un número determinado de días baseándose na prioridade

Importante

Para crear un campo calculado ten o privilexios de escrita na entidade Perfil de Seguranza de Campo. Se o campo calculado utiliza os campo protexidos nun cálculo, debería considerar tamén a seguranza dos campos calculados, para evitar que os usuarios teñan acceso a datos para os que non teñen os permisos suficientes. O editor de campo calculado ofrece un aviso se está a crear un campo calculado que utiliza campos protexidos nun cálculo, indicándolle que asegure o campo calculado. Máis información: Seguridade a nivel de campo.

Exemplos de campos calculados

Observemos exemplos de campos calculados con máis detalles. Definiremos os campos calculados co editor de campo. Para abrir o Editor de Campo:

  1. Abrir o explorador de solucións

  2. Expanda Compoñentes>Entidades.

  3. Seleccione a entidade que quere e escolla Campos. Elixa Nova.

    No editor, proporcione a información necesaria para o campo, incluído o Tipo de campo e Tipo de datos. O Tipo de campo está Calculado. Tipos de datos dispoñible para o campo calculado:

  • Liña única de texto

  • Conxunto de opcións

  • Dúas opcións

  • Número enteiro

  • Número decimal

  • Moeda

  • Data e hora

    O botón Editar a carón do Tipo de campo lévache ao editor de definición de campo calculado, onde o novo campo calculado creouse, pero non se estableceu ningunha fórmula. A definición de campo calculada consta de dúas seccións: CONDICIÓN e ACCIÓN.

  • Na sección Condición , pode especificar unha entidade, campo, operador, tipo e valor. Na caixa despregable da Entidade, podes escoller unha entidade actual ou unha entidade relacionada. Na caixa despregable Campo , tes unha selección de todos os campos dispoñibles para a entidade. Segundo o operador escolla, é posible que necesite fornecer tipo e valor. Podes especificar varias condicións usando os operadores AND ou OR .

  • Na sección Acción , proporciona a fórmula para o campo calculado.

Nota

Pode utilizar os datos dos rexistros de Busca dentro da Acción. Primeiro debe seleccionar o campo de Busca e despois introducir un período. Despois disto, pode seleccionar un dos campos dispoñibles na entidade relacionada. Por exemplo, no caso de <LookupFieldName>.<RelatedFieldName>, pode seleccionar: ParentAccountId.AccountNumber.

Teña en conta que seguranza a nivel de campo será ignorada na entidade relacionada, polo que se hai datos confidenciais no campo ao que se accedeu, recomendámoslle asegurar tamén o campo de calculado.

Ingresos ponderados de oportunidade

Neste exemplo, estamos a utilizar os campos da entidade da oportunidade para calcular os ingresos ponderados segundo a probabilidade da oportunidade. No editor de campos dunha entidade de oportunidade, creamos un campo chamado "Ingresos ponderados" e especificamos o tipo de campo como Calculado e o tipo de datos Moeda. No editor de definición de campo calculado, na sección Condición , especificamos a oportunidade co Estado = Aberto. Na ACCIÓN, a fórmula calcula os ingresos ponderados en función dos ingresos estimados da oportunidade multiplicado pola probabilidade da oportunidade. As seguintes capturas de pantalla mostran paso a paso como definir o campo calculado de ingresos ponderados.

Cree o campo calculado chamado "Ingresos ponderados":

Weighted revenue of Opportunity in Dynamics 365 for Customer Engagement.Ingresos ponderados de Opportunity in Dynamics 365 for Customer Engagement.Ingresos ponderados de Oportunidade en Dynamics 365 for Customer Engagement

Establece a condición das oportunidades:

Set Weighted Revenue in Dynamics 365 for Customer Engagement.Establecer ingresos ponderados en Dynamics 365 for Customer Engagement.Establecer ingresos ponderados en Dynamics 365 for Customer Engagement

Proporcione a fórmula para os ingresos ponderados:

Set Weighted Revenue estimated value Dynamics 365 for Customer Engagement.Establece o valor estimado dos ingresos ponderados Dynamics 365 for Customer Engagement.Establecer os valores estimados dos ingresos ponderados en Dynamics 365 for Customer Engagement

En conxunto:

Weighted revenue to est. revenue in Dynamics 365 for Customer Engagement.Ingresos ponderados en ingresos estimados en Dynamics 365 for Customer Engagement.Ingresos ponderados dos ingresos estimados en Dynamics 365 for Customer Engagement

Data de seguimento de oportunidade

Neste exemplo, estamos a utilizar os campos do cliente potencial orixinado dunha oportunidade, para calcular a data apropiada do seguimento da oportunidade. No editor de campos dunha entidade de oportunidade, creamos un campo chamado "Data de seguimento" e especificamos o tipo como Calculado e o tipo de datos é Data e hora. No editor de definición de campo calculado, na sección Condición , especificamos dúas condicións: o prazo de compra e o valor estimado do cliente potencial. Na ACCIÓN, ofrecemos dúas fórmulas, unha para seguimento nunha semana na oportunidade inmediata, outra para seguimento nun mes, se a oportunidade é non é probable que suceda inmediatamente. As seguintes capturas de pantalla mostran paso a paso como definir o campo calculado "Data de seguimento".

Cree o campo calculado chamado "Data de seguimento":

Create the calculated field called follow up date.Crea o campo calculado chamado seguimento data.Crear o campo calculado chamado data de seguimento

Establece as dúas condicións no cable de orixe:

Set the first condition for the calculated field.Establece a primeira condición para o campo calculado.Establecer a primeira condición para o campo calculado

Set the second condition for the calculated field.Establece a segunda condición para o campo calculado.Establecer a segunda condición para o campo calculado

Proporcione a fórmula a seguimento nunha semana:

Provide the formula for the calculated field.Proporcione a fórmula para o campo calculado.Fornecer a fórmula para o campo calculado

Proporcione a fórmula a seguimento nun mes:

Provide the second formula.Proporcione a segunda fórmula.Proporcionar a segunda fórmula

En conxunto:

Set Follow up date If-Then & Else in Dynamics 365 for Customer Engagement.Establecer a data seguimento If-Then & Else en Dynamics 365 for Customer Engagement.Establecer data de seguimento If-Then & Else en Dynamics 365 for Customer Engagement

Días desde a creación dun rexistro

Neste exemplo, estamos a usar a función DIFFINDAYS , para calcular a diferenza de días desde o momento en que se creou un rexistro ata a data actual.

Cree o campo calculado chamado "Diferenza calculada en días":

Create calculated field in Dynamics 365 for Customer Engagement.Cree un campo calculado en Dynamics 365 for Customer Engagement.Crear un campo calculado en Dynamics 365 for Customer Engagement

Proporcione a fórmula para calcular a diferenza en días

Calculated field, DIFFINDAYS function.Campo calculado, función DIFFINDAYS.Campo calculado, función DIFFINDAYS

En conxunto:

Difference in days since record creation.Diferenza en días desde a creación do disco.Diferenza en días desde a creación do rexistro

Sintaxe das funcións do campo calculado

A seguinte táboa contén información sobre a sintaxe das funcións proporcionadas na sección ACCIÓN do campo calculado.

Suxestión

Os nomes de funcións están en maiúsculas.

Sintaxe das funcións Descrición Tipo de devolución
ADDDAYS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, máis o número de días especificado. Data e hora
ADDHOURS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, máis o número de horas especificado. Data e hora
ADDMONTHS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, máis o número de meses especificado. Data e hora
ADDWEEKS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, máis o número de semanas especificado. Data e hora
ADDYEARS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, máis o número de anos especificado. Data e hora
SUBTRACTDAYS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, menos o número de días especificado. Data e hora
SUBTRACTHOURS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, menos o número de horas especificado. Data e hora
RESTA MESES (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, menos o número de meses especificado. Data e hora
SUBTRACTWEEKS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, menos o número de semanas especificado. Data e hora
RESTAS (número enteiro, data e hora) Devolve unha nova data e hora que son iguais á data e hora determinadas, menos o número de anos especificado. Data e hora
DIFFINDAYS (data e hora, data e hora) Devolve a diferenza en días entre dous campos Data e Hora . Se as datas e horas caen no mesmo día, a diferenza é cero. Número enteiro
DIFFINHORS (data e hora, data e hora) Devolve a diferenza de horas entre dous campos Data e Hora . Número enteiro
DIFFINMINUTES (data e hora, data e hora) Devolve a diferenza en minutos entre dous campos Data e Hora . Número enteiro
DIFFINMONTHS (data e hora, data e hora) Devolve a diferenza en meses entre dous campos Data e Hora . Se as datas e horas caen no mesmo mes, a diferenza é cero. Número enteiro
DIFFINWEEKS (data e hora, data e hora) Devolve a diferenza en semanas entre dous campos Data e Hora . Se as datas e horas caen na mesma semana, a diferenza é cero. Número enteiro
DIFFINYEARS (data e hora, data e hora) Devolve a diferenza en anos entre dous campos Data e Hora . Se as datas e horas caen no mesmo ano, a diferenza é cero. Número enteiro
CONCAT (liña única de texto, liña única de texto, … liña única de texto) Devolve unha cadea que é o resultado de concatenar dúas ou máis cadeas. Cadea
TRIMLEFT (liña única de texto, número enteiro) Devolve unha cadea que contén unha copia dunha cadea especificada sen os caracteres N iniciais. Cadea
TRIMRIGHT (liña única de texto, número enteiro) Devolve unha cadea que contén unha copia dunha cadea especificada sen os caracteres N finais. Cadea

Nota

Todas as funcións DIFF requiren que o primeiro campo Data e hora e o segundo campo Data e hora teñan o mesmo comportamento : Usuario local, Só data ou Independiente da zona horaria. Se o comportamento do segundo campo non coincide co comportamento do primeiro campo, móstrase a mensaxe de erro, que indica que o segundo campo non se pode utilizar na función actual. Máis información: Comportamento e formato do campo Data e hora.

Nota

Non se pode introducir unha data como 01/01/2015, como o valor de Data nun campo calculado. Os valores de data e a DateTime só poden definir ou comparar mediante os campos de DateTime.

Na función CONCAT , pode usar cadeas literais como liñas de texto únicas, campos de entidades que conteñan unha única liña de texto ou unha combinación de ambos. Por exemplo: CONCAT (Nome, Apelidos, "é xestor".). Se unha cadea literal contén comiñas, poña diante de cada comiña a barra invertida (\), como se indica a continuación: "Esta cadea contén as \"comiñas. \"" Isto asegura que as comiñas dentro da cadea non se tratan como caracteres especiais que separan as cadeas.

Os seguintes exemplos mostran como usar as funcións TRIMLEFT e TRIMRIGHT . Conteñen as cadeas iniciais e as resultantes, devoltas polas funcións TRIMLEFT e TRIMRIGHT :

TRIMLEFT ("RXX10-3456789", 3), devolve a cadea "10-3456789"
TRIMRIGHT ("20-3456789RXX", 3), devolve a cadea "20-3456789"

Consideracións dos campos calculados

Debe ter en conta determinadas condicións e limitacións cando traballa cos campos calculados:

  • As consultas, gráficas e visualizacións gardadas teñen un máximo de 10 campos calculados únicos.

  • Os valores de campo calculados non se amosan no modo fóra de liña de Customer Engagement Outlook nas vistas de mosaico ou nos formularios principais da entidade.

  • Un número máximo de campos calculados encadeados é 5.

  • Un campo calculado non pode facer referencia a si mesmo ou ter cadeas cíclicas.

  • Se modifica un dos operadores de condición nunha cláusula de condición múltiple, todos os operadores de condición se actualizará para esa condición. Por exemplo, na cláusula IF (x > 50) OR (y ==10) OR (z < 5), se cambia o OR operador polo AND operador, todos os OR operadores da cláusula converteranse en AND operadores.

  • Podes acceder aos campos parentais mediante o campo Busca na entidade principal, como <LookupFieldName>.<FieldName>. Isto non é posible con campos de busca de varias entidades como Customer que poden ser Account ou Contact. Non obstante, algunhas entidades teñen campos de busca individuais para unha entidade específica, como ParentAccountid.<FieldName> ou ParentContactid.<FieldName>.

  • A ordenación está desactivada en:

    • Un campo calculado que contén un campo dun rexistro principal.

    • Un campo calculado que contén un campo lóxico (por exemplo, campo de enderezo).

    • Un campo calculado que contén outro campo calculado.

  • Os campos calculados só poden abranguer dúas entidades.

    • Un campo calculado pode conter un campo doutra entidade (abranguendo dúas entidades: entidade actual e rexistro principal).

    • Un campo calculado non pode conter un campo calculado procedente de outra entidade que tamén conteña outro campo dunha entidade distinta (abarcando tres entidades):
      (Entidade actual) Campo calculado <- (Rexistro primario) Campo calculado 1 <- (Rexistro primario) Campo calculado 2.

  • Non se poden desencadear fluxos de traballo ou complementos nos campos calculados.

  • Non é posible modificar un campo simple existente a un campo calculado. Se a súa aplicación actual está a utilizar JavaScript ou complementos para calcular un campo, non poderá utilizar a funcionalidade de campos calculados sen crear un novo campo.

  • As regras de detección de duplicados non se desencadean en campos calculados.

  • Un resumo non pode facer referencia a un campo calculado que utiliza outro campo calculado, incluso se todos os campos do outro campo calculado se encontran na entidade actual.

Consulte tamén

Crear e editar campos
Definir campos de acumulación
Vídeo: acumulación e campos calculados en Dynamics CRM 2015