Definire campi calcolati per automatizzare i calcoli manuali

Utilizzare i campi calcolati per 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 Power Apps, senza la necessità di scrivere codice.

Funzionalità

  • I campi calcolati utilizzano i campi dell'entità corrente o 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 funzionalità incorporate sono:
    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.
  • È possibile configurare i campi calcolati per utilizzare i controlli personalizzati.

Scenari

  • Ricavi ponderati: ricavi stimati moltiplicati per la probabilità
  • Valore netto: cespiti meno passività per un determinato conto
  • Costo di manodopera: tariffa di base fino a 40 ore, più straordinario aggiuntivo
  • Numero contatto: numero di telefono per un'opportunità basata su account o 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. Ulteriori informazioni: Sicurezza a livello di campo per controllare l'accesso.

Creare un campo calcolato

Utilizzare l'Editor di campo per specificare un campo calcolato. In questo esempio si utilizzerà Power Apps ma i passaggi sono simili alla procedura che usa Esplora soluzioni. Ulteriori informazioni: Creare e modificare campi

  1. Apri Power Apps

  2. Espandere Dati > Entità.

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

  4. Fornire le informazioni richieste per il campo, incluso il Nome visualizzato, il Nome e il Tipo di dati.

  5. Se il tipo di dati è uno dei tipi che supportano i campi calcolati, è possibile impostare il campo come calcolato selezionando Aggiungi > Calcolo.

    Impostare il campo come calcolato

    Questi sono i tipi di campi che supportano i calcoli:

    • Testo
    • Set di opzioni
    • Due opzioni
    • Numero intero
    • Numero decimale
    • Valuta
    • Data e ora
  6. La selezione di Calcolo richiede che si salvino le modifiche all'entità. Fare clic su Salva nella finestra di dialogo Modifiche in sospeso per procedere.

  7. Verrà visualizzato l'editor delle definizioni dei campi calcolati, in cui è stato creato il nuovo campo calcolato, ma senza formule impostate. La definizione del campo calcolato è costituita da due sezioni: CONDIZIONE e AZIONE.
    Modulo Nuovo calcolo di campo

  • 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>, è possibile selezionare: ParentAccountId.AccountNumber.

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.

Esempi

Esaminiamo gli esempi dei campi calcolati in dettaglio.

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 viene specificato il tipo di campo 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à. Gli screenshot seguenti mostrano la procedura per definire il campo calcolato Ricavi ponderati.

Impostare la condizione sulle opportunità:

Impostare i ricavi ponderati in Dynamics 365

Immettere la formula per i ricavi ponderati:

Impostare il valore stimato dei ricavi ponderati in Dynamics 365

Congiuntamente:

Ricavi ponderati da stimare ricavi in Dynamics 365

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 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 degli acquisti e il valore stimato del lead.

In AZIONE forniamo due formule:

  • Per completare entro una settimana un'opportunità immediata
  • Per completare in un mese se è probabile che l'opportunità non si verifichi immediatamente.

Gli screenshot seguenti mostrano la procedura per definire il campo calcolato Data di completamento.

Impostare le due condizioni nel lead di origine:

Data di completamento relativa a un'opportunità in Dynamics 365

Data di completamento relativa a un'opportunità in Dynamics 365

Immettere la formula da completare entro una settimana:

Data di completamento relativa a un'opportunità in Dynamics 365

Immettere la formula da completare entro un mese:

Impostare la data di completamento in Dynamics 365

Congiuntamente:

Impostare la data di completamento If-Then e Else in Dynamics 365

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.

Creare un nuovo campo Numero intero denominato Differenza calcolata in giorni.

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

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

Suggerimento

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: This string contains the \"quotation marks.\" 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

È 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 del client Outlook 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 ricerca a più entità, come Cliente che può essere Account o Contatto. 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 contenente un campo logico, ad esempio un campo di indirizzo
    • Un campo calcolato contenente 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 campi di rollup che aggregano valori
Video: Campi di rollup e calcolati