Loading
CRM Analytics
Trasformazione computeExpression

Trasformazione computeExpression

La trasformazione computeExpression consente di aggiungere campi derivati a una serie di dati. I valori dei campi derivati non vengono estratti dalla fonte dei dati di input. CRM Analytics genera invece i valori utilizzando un'espressione SAQL, che può essere basata su uno o più campi provenienti dai dati di input o da altri campi derivati. Ad esempio, è possibile utilizzare un'espressione per assegnare un valore a un campo, concatenare campi di testo o eseguire calcoli matematici sui campi numerici.

Nota
Nota per creare una colonna calcolata basata su una formula all'interno di un procedimento Preparazione dati, vedere Trasformazione Formula: Creazione di una colonna calcolata basata su un'espressione. Per eseguire l'operazione in un procedimento Preparazione dati Classic, vedere Aggiunta di un campo formula in un procedimento.

La trasformazione computeExpression e la trasformazione computeRelative sono simili, ma si presentano una differenza fondamentale. La trasformazione computeExpression esegue i calcoli in base ad altri campi nella stessa riga. La trasformazione computeRelative esegue i calcoli in base ai valori precedente e successivo dello stesso campo in altre righe.

Durante la creazione di una trasformazione computeExpression, prestare attenzione ai seguenti punti:

  • È possibile includere soltanto i seguenti operatori e funzioni SAQL nell'espressione:
  • I campi multivalore non sono supportati. Il flusso di dati ha esito negativo se si include un campo multivalore nel parametro dell'espressione SAQL.
  • I valori del campo derivato devono corrispondere al tipo specificato. Ad esempio, se i valori sono stringhe impostare il tipo del campo derivato su Testo.
  • CRM Analytics calcola i valori dei campi derivati nell'ordine in cui vengono elencati nel JSON. Pertanto, se si crea un campo derivato basato su altri campi derivati nella stessa trasformazione computeExpression, i campi derivati di input devono essere elencati per primi. Ad esempio, Derived_A deve essere elencato prima di Derived_B nel seguente snippet JSON della trasformazione computeExpression:
    "CreateDerivedFields": {
       "action": "computeExpression",
       "parameters": {
          "source": "sourceNode",
          "mergeWithSource": false,
          "computedFields": [
             {
                "name": "Derived_A",
                "type": "Text",
                "label": "Derived Field A",
                "saqlExpression": "\"hello \""}, 
             {
                "name": "Derived_B",
                "type": "Text",
                "label": "Derived Field B Dependent on Field A",
                "saqlExpression": "Derived_A + \"world\""}
             ]
          }
       }
  • È possibile scegliere se la serie di dati risultante include solo i campi derivati o i campi di input e i campi derivati.
  • Se l'espressione genera un valore oltre i limiti per un campo numerico, la trasformazione imposta il valore del campo sul valore predefinito specificato per la colonna. Se non è impostato alcun valore predefinito e la gestione dei valori nulli è disabilitata, il valore del campo viene impostato su 0. Se non è impostato alcun valore predefinito e la gestione dei valori nulli è abilitata, il valore del campo viene impostato su nullo. (vedere la documentazione relativa alla gestione delle misure con valori nulli). Inoltre, se l'espressione definisce più colonne e genera un valore oltre i limiti, tutti i campi generati vengono impostati sul valore predefinito. Per circoscrivere il problema al campo con il valore oltre i limiti, creare una trasformazione computeExpression separata per ogni colonna definita.
Esempio
Esempio

Vediamo un esempio. Si supponga di voler creare una serie di dati basata sui dati opportunità Salesforce. È possibile creare un flusso di dati che estragga i campi Id e Ammontare dall'oggetto Opportunità. Si supponga inoltre di voler aggiungere i seguenti campi derivati alla serie di dati: ModifiedId, SalesTax, FinalPrice e ValueCategory. Per i campi derivati:

  • Aggiungere "SFDC" a ogni Id opportunità per ottenere un nuovo Id modificato.
  • Calcolare l'imposta sul valore aggiunto in base a un'aliquota dell'8%.
  • Calcolare il prezzo finale aggiungendo l'ammontare e l'imposta sul valore aggiunto.
  • Classificare le opportunità in bucket di valore basso, medio ed elevato in base al prezzo finale calcolato.

Creare la seguente definizione del flusso di dati.

{
   "salesData": {
      "action": "sfdcDigest", 
      "parameters": {
         "object": "Opportunity", 
         "fields": [
            {"name": "Amount"},
            {"name": "Id"}]}},
   "Derived_Fields": {
      "action": "computeExpression", 
      "parameters": {
         "source": "salesData", 
         "mergeWithSource": true, 
         "computedFields": [
            {
               "name": "ModifiedId", 
               "type": "Text", 
               "saqlExpression": "\"SFDC\" + Id"},
            {
               "name": "SalesTax", 
               "type": "Numeric", 
               "precision": 18, 
               "defaultValue": "0", 
               "scale": 5, 
               "saqlExpression": "Amount * 0.08"},
            {
               "name": "FinalPrice", 
               "type": "Numeric", 
               "precision": 18, 
               "defaultValue": "0", 
               "scale": 5, 
               "saqlExpression": "Amount + SalesTax"},
            {
               "name": "ValueCategory", 
               "type": "Text", 
               "saqlExpression": "case when FinalPrice < 1000 then \"Low\" when FinalPrice >= 1000 and FinalPrice < 2000 then \"Medium\" else \"High\" end"}
         ]
      }
   },
   "Register_CategorizedSales": {
       "action": "sfdcRegister",
       "parameters": {
           "alias": "Categorized_Sales",
           "name": "Categorized_Sales",
           "source": "Derived_Fields" }
   }
}
  • Parametri computeExpression
    Quando si definisce una trasformazione computeExpression, si imposta l'attributo azione su computeExpression. Si specificano inoltre i parametri per l'origine di input e l'espressione usata per generare i valori.
 
Caricamento
Salesforce Help | Article