

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\$1 "\$1. ObjectTypeName <Location of timestamp field in JSON pointer format>\$1\$1». 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
```