Creare un campo calcolato per automatizzare i calcoli manuali

Questo argomento si applica a Dynamics 365 Customer Engagement (on-premises). Per la versione Power Apps di questo argomento, vedi: Definire campi calcolati per automatizzare i calcoli manuali

I campi calcolati consentono di automatizzare i calcoli manuali utilizzati nei processi aziendali. Ad esempio, è possibile che un venditore desideri conoscere il ricavo ponderato per un'opportunità, basato sui ricavi previsti da un'opportunità moltiplicata per la probabilità. In alternativa, desideri applicare automaticamente uno sconto, se un ordine è superiore a €500. Un campo calcolato può contenere valori che derivano da operazioni matematiche semplici o operazioni condizionali, ad esempio Greater-Than o If-Else e molti altri. Per eseguire tutte queste operazioni è possibile utilizzare la funzionalità dei campi calcolati, senza la necessità di scrivere codice.

Le funzionalità dei campi calcolati sono:

  • I campi calcolati includono calcoli che utilizzano i campi dell'entità corrente e delle entità padre correlate.

  • Il supporto di espressione è disponibile nell'entità corrente e i campi dell'entità padre correlata nelle sezioni Condizione e nelle sezioni Azione. Le funzioni predefinite includono:

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

  • Un supporto condizionale dettagliato fornisce il branching e più condizioni. Le operazioni logiche includono gli operatori AND e OR.

  • Le funzionalità di modifica visiva includono l'interfaccia utente moderna e IntelliSense nella sezione AZIONE.

  • Una semplice integrazione dei campi calcolati con moduli, visualizzazioni, grafici e report è disponibile in tempo reale.

  • Se l'organizzazione online è stata aggiornata all'aggiornamento di dicembre 2016 per Dynamics 365 (online) puoi configurare i campi calcolati per utilizzare i controlli personalizzati.

Alcuni esempi di campi calcolati

  • Ricavo ponderato: ricavo previsto moltiplicato per la probabilità

  • Valore netto: asset sottratti dalle passività di un determinato account

  • Costo di manodopera: tasso di base fino a 40 ore, più straordinario aggiuntivo

  • Numero contatto: numero di telefono di un'opportunità in base all'account o al contatto

  • Punteggio lead: unico campo che fornisce informazioni approfondite sulla qualità di un determinato lead

  • Completamento entro: completamento di un impegno entro un numero di giorni specificato in base alla priorità

Importante

Per creare un campo calcolato è necessario disporre del privilegio di scrittura per l'entità Profilo sicurezza campi. Se il campo calcolato usa i campi protetti in un calcolo, è consigliabile prendere in considerazione di proteggere il campo calcolato per evitare che gli utenti accedano ai dati per cui non dispongono delle autorizzazioni sufficienti. Quando si crea un campo calcolato che utilizza campi protetti nell'editor di campi calcolati viene visualizzato un avviso indicante di proteggere il campo calcolato. Per ulteriori informazioni, vedere Sicurezza a livello di campo.

Esempi di campi calcolati

Esaminiamo gli esempi dei campi calcolati in dettaglio. I campi calcolati vengono definiti nell'editor dei campi. Per aprire l'editor di campi:

  1. Aprire Esplora soluzioni.

  2. Espandere Componenti>Entità.

  3. Selezionare l'entità desiderata e scegliere Campi. Scegliere Nuovo.

    Nell'editor immettere le informazioni richieste per il campo, ad esempio Tipo di campo e Tipo di dati. Il Tipo di campo è Calcolato. I tipi di dati disponibili per il campo calcolato sono:

  • Una riga di testo

  • Set di opzioni

  • Due opzioni

  • Numero intero

  • Numero decimale

  • Valuta

  • Data e ora

    Il pulsante Modifica accanto a Tipo di campo consente di accedere all'editor delle definizioni dei campi calcolati, in cui il nuovo campo calcolato viene creato senza una formula impostata. La definizione del campo calcolato è costituita da due sezioni: CONDIZIONE e AZIONE.

  • Nella sezione Condizione, è possibile specificare un'entità, un campo, un operatore, il tipo e il valore. Nella casella a discesa di Entità, è possibile scegliere una entità corrente o un'entità correlata. Nella casella a discesa Campo è presente una selezione dei campi disponibili per l'entità. A seconda dell'operatore scelto, potrebbe essere necessario specificare il tipo e il valore. È possibile specificare più condizioni con gli operatori AND o OR.

  • Nella sezione Azione, si specifica la formula per il campo calcolato.

Nota

Puoi utilizzare i record di tipo lookup nell'azione. Prima devi selezionare il campo di tipo lookup e quindi inserire un punto. Dopo ciò, puoi selezionare uno dei campi disponibili nell'entità correlata. Ad esempio, nel caso di <LookupFieldName>.<RelatedFieldName>, puoi selezionare:

Nota che la sicurezza a livello di campo verrà ignorata nell'entità correlata, quindi se sono disponibili dati sensibili nel campo a cui si è eseguito l'accesso, si consiglia di proteggere anche il campo calcolato.

Ricavi ponderati dell'opportunità

In questo esempio, vengono utilizzati i campi dell'entità opportunità per calcolare i ricavi ponderati sulla base della probabilità dell'opportunità. Nell'editor dei campi per un'entità opportunità, viene creato un campo denominato "Ricavi ponderati" e si specifica il tipo di campo come Calcolato e il tipo di dati è Valuta. Nell'editor delle definizioni di campi calcolati, nella sezione Condizione, si specifica l'opportunità con lo stato Aperto. Nell'AZIONE, la formula calcola i ricavi ponderati sulla base dei ricavi ponderati stimati dell'opportunità moltiplicati per la probabilità dell'opportunità. Le seguenti schermate illustrano nel dettaglio come definire il campo calcolato Ricavi ponderati.

Creare il campo calcolato denominato "Ricavi ponderati":

Ricavi ponderati delle opportunità in Dynamics 365 for Customer Engagement.

Impostare la condizione sulle opportunità:

Impostare i ricavi ponderati in Dynamics 365 for Customer Engagement.

Immettere la formula per i ricavi ponderati:

Impostare il valore stimato dei ricavi ponderati in Dynamics 365 for Customer Engagement.

Congiuntamente:

Ricavi ponderati rispetto a ricavi stimati in Dynamics 365 for Customer Engagement.

Data di completamento dell'opportunità

In questo esempio, si utilizzano i campi del lead all'origine di un'opportunità per calcolare la data appropriata in cui completare l'opportunità. Nell'editor dei campi per un'entità opportunità, viene creato un campo denominato "Data di completamento" e si specifica il tipo di campo come Calcolato e il tipo di dati è Data e ora. Nell'editor delle definizioni dei campi calcolati, nella sezione Condizione, si specificano due condizioni: l'intervallo di tempo acquisti e il valore stimato del lead. Nell'AZIONE, si forniscono due formule, una da completare entro una settimana sull'opportunità immediata, un'altra da completare entro un mese, se l'opportunità probabilmente non si verifica immediatamente. Le seguenti schermate illustrano nel dettaglio come definire il campo calcolato "Data di completamento".

Creare il campo calcolato denominato "Data di completamento":

Creare il campo calcolato denominato Data di completamento.

Impostare le due condizioni nel lead di origine:

Impostare la prima condizione per il campo calcolato.

Impostare la seconda condizione per il campo calcolato.

Immettere la formula da completare entro una settimana:

Immettere la formula per il campo calcolato.

Immettere la formula da completare entro un mese:

Fornire la seconda formula.

Congiuntamente:

Impostare la data di completamento If-Then ed Else in Dynamics 365 for Customer Engagement.

Giorni dalla creazione di un record

In questo esempio, si utilizza la funzione DIFFINDAYS per calcolare la differenza in giorni dalla creazione di un record alla data corrente.

Crea il campo calcolato denominato "differenza calcolata in giorni":

Creare un campo calcolato in Dynamics 365 for Customer Engagement.

Fornisci la formula per il calcolo della differenza in giorni

Campo calcolato, funzione DIFFINDAYS.

Congiuntamente:

Differenze nei giorni dalla creazione del record.

Sintassi delle funzioni del campo calcolato

La tabella seguente contiene le informazioni sulla sintassi delle funzioni fornite nella sezione AZIONE del campo calcolato.

Mancia

I nomi delle funzioni sono specificati in lettere maiuscole.

Sintassi della funzione Descrizione Tipo restituito
ADDDAYS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, più il numero di giorni specificato. Data e ora
ADDHOURS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, più il numero di ore specificato. Data e ora
ADDMONTHS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, più il numero di mesi specificato. Data e ora
ADDWEEKS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, più il numero di settimane specificato. Data e ora
ADDYEARS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, più il numero di anni specificato. Data e ora
SUBTRACTDAYS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, meno il numero di giorni specificato. Data e ora
SUBTRACTHOURS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, meno il numero di ore specificato. Data e ora
SUBTRACTMONTHS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, meno il numero di mesi specificato. Data e ora
SUBTRACTWEEKS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, meno il numero di settimane specificato. Data e ora
SUBTRACTYEARS (numero intero, data e ora) Restituisce una nuova data e ora che è uguale alla data e all'ora specificate, meno il numero di anni specificato. Data e ora
DIFFINDAYS (data e ora, data e ora) Restituisce la differenza in giorni tra i due campi Data e ora. Se entrambi i valori di data e ora cadono nello stesso giorno, la differenza è zero. Numero intero
DIFFINHOURS (data e ora, data e ora) Restituisce la differenza in ore tra i due campi Data e ora. Numero intero
DIFFINMINUTES (data e ora, data e ora) Restituisce la differenza in minuti tra i due campi Data e ora. Numero intero
DIFFINMONTHS (data e ora, data e ora) Restituisce la differenza in mesi tra i due campi Data e ora. Se entrambi i valori di data e ora cadono nello stesso mese, la differenza è zero. Numero intero
DIFFINWEEKS (data e ora, data e ora) Restituisce la differenza in settimane tra i due campi Data e ora. Se entrambi i valori di data e ora cadono nella stessa settimana, la differenza è zero. Numero intero
DIFFINYEARS (data e ora, data e ora) Restituisce la differenza in anni tra i due campi Data e ora. Se entrambi i valori di data e ora cadono nello stesso anno, la differenza è zero. Numero intero
CONCAT (singola riga di testo, singola riga di testo...singola riga di testo) Restituisce una stringa che è il risultato del concatenamento di due o più stringhe. String
TRIMLEFT (singola riga di testo, numero intero) Restituisce una stringa contenente una copia di una stringa specificata senza i primi N caratteri. String
TRIMRIGHT (singola riga di testo, numero intero) Restituisce una stringa contenente una copia di una stringa specificata senza gli ultimi N caratteri. String

Nota

Tutte le funzionalità DIFF richiedono che il primo campo Data e ora e il secondo campo Data e ora abbiano lo stesso comportamento: Locale utente, Solo data o Indipendente da fuso orario. Se il comportamento del secondo campo non corrisponde al comportamento del primo campo, viene visualizzato il messaggio di errore indicante che il secondo campo non può essere utilizzato nella funzione corrente. Ulteriori informazioni: Comportamento e formato del campo Data e ora.

Nota

Non è possibile immettere una data, ad esempio 01/01/2015, come valore Data nel campo calcolato. I valori di data e data e ora possono solo essere impostati e confrontati utilizzando altri campi Data e ora.

Nella funzione CONCAT, è possibile utilizzare stringhe letterali come singole righe di testo, campi di entità contenenti una singola riga di testo o una combinazione di entrambi. Ad esempio: CONCAT (Nome, Cognome, "è un responsabile"). Se una stringa letterale contiene le virgolette, anteporre a ogni contrassegno il carattere di escape barra rovesciata (\\), simile al seguente: "Questa stringa contiene le \"virgolette.\"" In questo modo le virgolette nella stringa non vengono considerate caratteri speciali che separano le stringhe.

In questo esempio viene illustrato come utilizzare le funzioni TRIMLEFT e TRIMRIGHT. Contengono le stringhe iniziali e le stringhe di risultato, restituite dalle funzioni TRIMRIGHT e TRIMLEFT:

TRIMLEFT (“RXX10-3456789”, 3), restituisce la stringa “10-3456789”
TRIMRIGHT (“20-3456789RXX”, 3), restituisce la stringa “20-3456789”

Considerazioni sui campi calcolati

È opportuno tenere presenti alcune condizioni e limitazioni quando si utilizzano i campi calcolati:

  • Query, grafici e visualizzazioni salvati possono disporre al massimo di 10 campi calcolati univoci.

  • I valori dei campi calcolati non vengono visualizzati in modalità offline di Outlook per Customer Engagement nelle visualizzazioni riquadro o nei moduli principali dell'entità.

  • Il numero massimo di campi calcolati concatenati è 5.

  • Un campo calcolato non può fare riferimento a se stesso o disporre di catene cicliche.

  • Se si modifica uno degli operatori di condizione in una clausola di condizione multipla, tutti gli operatori di condizione verranno aggiornati alla condizione. Ad esempio, se nella clausola IF (x > 50) OR (y ==10) OR (z < 5) si cambia l'operatore OR con l'operatore AND, tutti gli operatori OR nella clausola diventeranno operatori AND.

  • È possibile accedere ai campi padre tramite il campo di tipo lookup all'entità padre, ad esempio <LookupFieldName>.<FieldName>. Questo non è possibile con i campi di tipo lookup di più entità, come Customer che può essere Account o Contact. Tuttavia, alcune entità dispongono di campi di tipo lookup per un'entità specifica, ad esempio ParentAccountid.<FieldName> o ParentContactid.<FieldName>.

  • L'ordinamento è disabilitato in:

    • Un campo calcolato contenente un campo di un record padre.

    • Un campo calcolato che contiene un campo logico (ad esempio, il campo per l'indirizzo).

    • Un campo calcolato che contiene un altro campo calcolato.

  • I campi calcolati possono estendersi solo su due entità.

    • Un campo calcolato può contenere un campo da un'altra entità, ovvero comprende due entità, l'entità corrente e il record padre.

    • Un campo calcolato non può contenere un campo calcolato da un'altra entità che contiene un altro campo da un'entità diversa (per un totale di tre entità):
      (Entità corrente)Campo calcolato <- (Record padre) Campo calcolato 1 <- (Record padre) Campo calcolato 2.

  • Non è possibile avviare i flussi di lavoro o plug-in nei campi calcolati.

  • Non è possibile cambiare un campo semplice esistente in un campo calcolato. Se nell'applicazione corrente si utilizza JavaScript o i plug-in per calcolare un campo, non è possibile utilizzare la funzionalità dei campi calcolati senza creare un nuovo campo.

  • Le regole di rilevamento duplicati non vengono avviate nei campi calcolati.

  • Un rollup non può fare riferimento a un campo calcolato che utilizza un altro campo calcolato, anche se tutti i campi dell'altro campo calcolato si trovano sull'entità corrente.

Vedi anche

Creare e modificare campi
Definire i campi di rollup
Video: campi di rollup e calcolati in Dynamics CRM 2015