

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione di una definizione di attributo calcolata personalizzata per Amazon Connect Customer Profiles
<a name="customerprofiles-calculated-attributes-creating-definition"></a>

Utilizzando l'[CreateCalculatedAttributeDefinition](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html)API Customer Profiles, puoi creare a livello di codice il tuo attributo calcolato in base a un tipo di oggetto personalizzato.

In questo argomento mostriamo come creare un attributo calcolato utilizzando un file JSON personalizzato.

## Passaggio 1: Creazione di un file JSON
<a name="step1-calculate-attribute-api"></a>

Crea un file JSON con i seguenti contenuti:

```
{
"DomainName": "{{your-domain-name}}", 
   "CalculatedAttributeName": "{{your-calculated-attribute-name}}",
   "UseHistoricalData": true,
   "DisplayName": "{{your-display-name}}",
   "Description": "{{your-description}}",
   "AttributeDetails": {
"Attributes": [
         {
            "Name": "{{your-attribute-name}}"
         }
       ],
       "Expression": "{{{your-object-type.your-attribute-name}}}"
   },
    "Statistic": "{{your-statistic}}",
    "Conditions": {
       "Range": {
        "ValueRange"
        {
            "Start": {{your-range-start}}
            "End": {{your-range-end}}
        },
        "TimestampSource": "{{{your-object-type.your-timestamp-source}}}",          
        "Unit": "days"
        },
        "ObjectCount":  {{your-object-count}},
        "Threshold": {
           "Value": "{{your-threshold-value}}",
           "Operator": "{{your-threshold-operator}}"
        }
   }  
}
```

Per personalizzare il JSON con valori, seguire le linee guida riportate di seguito:
+ **Attributes**: dovrebbe contenere il nome del campo del tipo di oggetto che desideri utilizzare per l'attributo calcolato. Sono supportati due attributi a cui si fa riferimento in questo elenco.
+ **Expression**: sono supportate espressioni matematiche di base da eseguire tra gli attributi. Se si dispone di un solo attributo, questo campo dovrebbe essere`{ObjectTypeName.AttributeName}`, altrimenti se si considera un'espressione matematica questo campo dovrebbe contenere entrambi gli attributi.
+ **Statistica**: questa è l'operazione eseguita quando si chiama uno dei calcoli APIs che esegue effettivamente l'operazione di aggregazione. La maggior parte di esse è semplice, ma abbiamo aggiunto delle spiegazioni per quelle più complesse. 

  **Statistiche supportate**
  + `FIRST_OCCURRENCE` restituisce l'attributo specificato nell'espressione del primo oggetto importato.
  + `LAST_OCCURRENCE` restituisce l'attributo specificato nell'espressione dell'ultimo oggetto importato.
  + `COUNT` restituisce il conteggio dei dati selezionati.
  + `SUM` restituisce la somma dei dati selezionati.
  + `MINIMUM` restituisce il minimo dei dati selezionati.
  + `MAXIMUM` restituisce il massimo dei dati selezionati.
  + `AVERAGE` restituisce la media dei dati selezionati.
  + `MAX_OCCURRENCE` restituisce il valore più frequente specificato nell'espressione.
+ **Intervallo:**
  + Unità: attualmente supporta solo unità DAYS.
  + ValueRange: Specificate numeri positivi nei campi Inizio o Fine per indicare da quanti giorni precedenti iniziare e numeri negativi per indicare da quanti giorni futuri iniziare. ValueRange
  + TimestampSource: Un'espressione che specifica il campo dell'oggetto JSON a partire dal quale deve essere analizzata la data. L'espressione deve seguire la struttura di\\ "{. ObjectTypeName <Location of timestamp field in JSON pointer format>}\\». Ad esempio, se il tipo di oggetto è MyType e il codice sorgente è JSON`{"generatedAt": {"timestamp": "1737587945945"}}`, allora TimestampSource dovrebbe esserlo`"{MyType.generatedAt.timestamp}"`.
+ **ObjectCount**: Indica su quanti oggetti deve basarsi il calcolo degli attributi calcolati.
+ **Threshold**: se invece del valore esatto dell'attributo calcolato si desidera invece sapere se è, ad esempio, maggiore di un determinato valore, è possibile utilizzare una soglia.

  Il valore di soglia può essere qualsiasi stringa e sono supportati i seguenti operatori di soglia.
  + `GREATER_THAN`
  + `LESS_THAN`
  + `EQUAL_TO`
  + `NOT_EQUAL_TO`
+ UseHistoricalData: Se i dati storici inseriti prima della creazione dell'attributo calcolato devono essere inclusi nei calcoli.

## Fase 2: Chiama l'API CreateCalculatedAttributeDefinition
<a name="step2-calculated-attribute-api"></a>

Dopo aver creato e personalizzato il file JSON con i tuoi valori, chiama l'[CreateCalculatedAttributeDefinition](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html)API, come mostrato nell'esempio seguente:

```
aws customer-profiles create-calculated-attribute-definition --cli-input-json file:///{{custom_calculated_attribute_cli.json}} --region {{region_name}}
```

È possibile inoltre utilizzare i seguenti endpoint:

```
https://profile.{{your-region}}.amazonaws.com/domains/{{your-domain-name}}/calculated-attributes
```