

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立自訂 Amazon Connect Customer Profiles 計算屬性定義
<a name="customerprofiles-calculated-attributes-creating-definition"></a>

使用客戶設定檔 [CreateCalculatedAttributeDefinition](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html) API，您可以根據自訂物件類型以程式設計方式建立自己的計算屬性。

在本主題中，我們將展示如何使用自訂 JSON 檔案來建立計算屬性。

## 步驟 1：建立 JSON 檔案
<a name="step1-calculate-attribute-api"></a>

使用下列內容建立檔案：

```
{
"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"
        }
   }  
}
```

若要使用您自己的值來自訂 JSON，請遵循下列指示：
+ **屬性**：這應包含您要用於計算屬性之物件類型中的欄位名稱。支援此清單中參照的兩個屬性。
+ **運算式**：支援在屬性之間執行的基本數學運算式。如果您只有一個屬性，則此欄位應該是 `{ObjectTypeName.AttributeName}`，否則如果您有數學運算式，則此欄位應包含這兩個屬性。
+ **Statistic**：這是當您呼叫其中一個實際執行彙總作業的計算 API 時所執行的作業。大多數都是不言自明的，但我們已經為那些不清楚的添加了解釋。

  **支援的統計**
  + `FIRST_OCCURRENCE` 傳回在最早擷取物件的運算式中指定的屬性。
  + `LAST_OCCURRENCE` 傳回在最新擷取物件的運算式中指定的屬性。
  + `COUNT` 從選擇的資料傳回計數。
  + `SUM` 從選擇的資料傳回總和。
  + `MINIMUM` 從選擇的資料傳回最小值。
  + `MAXIMUM` 從選擇的資料傳回最大值。
  + `AVERAGE` 從選擇的資料傳回平均值。
  + `MAX_OCCURRENCE` 返回表達式中所指定，出現最頻繁的值。
+ **範圍**：
  + 單位：目前僅支援 DAYS 單位。
  + ValueRange：在 ValueRange 的開始或結束欄位中指定正數，以指定應從幾天前開始，或使用負數指定應從未來幾天開始。
  + TimestampSource：指定 JSON 物件中應剖析日期欄位的運算式。運算式應遵循以下結構：\$1"\$1ObjectTypeName.<Location of timestamp field in JSON pointer format>\$1\$1"。例如，如果您的物件類型是 MyType，而來源 JSON 為 `{"generatedAt": {"timestamp": "1737587945945"}}`，則 TimestampSource 應為 `"{MyType.generatedAt.timestamp}"`。
+ **ObjectCount**：指出應根據計算屬性計算的物件數目。
+ **Threshold**：如果您想知道它是否大於特定值，而不是確切的計算屬性值，則可以使用閾值。

  閾值可以是任何字串，且支援下列閾值運算子。
  + `GREATER_THAN`
  + `LESS_THAN`
  + `EQUAL_TO`
  + `NOT_EQUAL_TO`
+ UseHistoricalData：建立計算屬性前擷取的歷史資料是否應包含在計算中。

## 步驟 2：呼叫 CreateCalculatedAttributeDefinition API
<a name="step2-calculated-attribute-api"></a>

使用您的值建立並自訂 JSON 檔案之後，呼叫 [CreateCalculatedAttributeDefinition](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html) API，如下列範例所示：

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

也可以使用以下端點：

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