

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

# 關聯性組態
<a name="v10-correlations-config"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

 每個相互關聯都會以下列選項設定：

**標籤**  
連結標籤，如視覺化所示。

**Description**  
選用的描述。

**來源資料來源**  
顯示連結的結果來源。

**結果欄位**  
定義連結在視覺效果中顯示的位置。

**目標查詢**  
目標查詢會在按一下連結時執行。

**轉換**  
傳遞至目標查詢的來源資料選用操作。

如需建立相互關聯的詳細資訊，請參閱[建立相互關聯](v10-correlations-create.md)。

## 來源資料來源和結果欄位
<a name="v10-correlations-config-source-and-result"></a>

連結會顯示在探索視覺化中，以取得相互關聯來源資料來源的結果。連結會從相互關聯組態中提供的結果 （結果欄位） 指派給其中一個欄位。每個視覺效果會以不同的方式顯示具有連結的欄位。

## 目標查詢
<a name="v10-correlations-config-target-query"></a>

在視覺化中按一下連結時，會執行目標查詢。您可以使用所選目標資料來源的查詢編輯器來指定目標查詢。您可以使用變數在目標查詢內存取來源資料結果。

### 關聯性變數
<a name="v10-correlations-config-variables"></a>

您可以使用目標查詢內的變數來存取與查詢相關的來源資料。關聯使用 [Grafana 變數語法](v10-dash-variable-syntax.md)。選擇連結時，變數會填入來源結果的值。您可以使用兩種類型的變數：
+ [欄位變數](v10-panels-configure-data-links.md#v10-panels-data-link-variables) （存取欄位值和標籤）。
+ 關聯性變數 （存取欄位值和轉換）。

範例：如果來源結果包含名為 的欄位`employee`，則可以使用下列方式存取該欄位的值：
+ 欄位變數 `${__data.fields.employee}`。
+ 將上述欄位值映射至 的相互關聯變數`${employee}`。

除了將欄位值映射至較短的變數名稱之外，還可以將轉換套用至現有欄位來建立更多相互關聯變數。

只有在所有變數都具有所選資料列中的值時，關聯才會建立資料連結。[全域變數](v10-dash-variable-add.md#v10-dash-variable-add-global)是此規則的例外狀況，不需要從傳回的資料中填入。這些變數由資料來源自動插補。

### 相關性轉換
<a name="v10-correlations-config-transformations"></a>

轉換提供從欄位值擷取更多變數的方法。轉換的輸出是一組新變數，可作為任何其他變數存取。

轉換有兩種類型：logfmt 和規則表達式。

每個轉換都會使用選取的欄位值做為輸入。轉換的輸出是根據轉換類型和選項的一組新變數。

### Logfmt 轉換
<a name="v10-correlations-config-logfmt-transformation"></a>

logfmt 轉換會解構包含以 [logfmt 金鑰/值對](https://brandur.org/logfmt)格式化文字的欄位值。每個配對都會成為變數，金鑰是變數的名稱。

如果您希望轉換套用到與結果欄位不同的欄位，則 logfmt 轉換只需要指定輸入欄位名稱。的範例輸出變數`field = "host=srv001 endpoint=/test app=foo"`：


| name | value | 
| --- | --- | 
| 託管 | srv001 | 
| 端點 | /test | 
| 應用程式 | foo | 

### 規則表達式轉換
<a name="v10-correlations-config-regular-expression-transformation"></a>

規則表達式轉換會根據提供的規則表達式解構欄位值。

規則表達式轉換選項：

**欄位**  
輸入欄位名稱

**表達式**  
規則表達式。具名擷取群組會對應至符合群組名稱的變數。如果使用未命名的相符群組，則會從第一個相符項目中建立變數。如果提供 mapValue，則值會覆寫符合輸入欄位的變數或建立新變數 （請參閱下表中的範例）。

**mapValue**  
與沒有命名相符群組的簡單 regex 群組搭配使用。根據預設，第一個相符項目會以做為輸入的欄位名稱覆寫變數。若要變更該預設行為，您可以指定 mapValue 屬性。提供的名稱用於建立新的變數。如果您的目標查詢同時需要確切值和以轉換擷取的部分值，這很有用。

範例：假設選取的欄位名稱為 ，`employee`而欄位值為 `John Doe`。

根據表達式和 mapValue 選項的各種輸出變數：


| 表達式 | mapValue | 輸出變數 | comment | 
| --- | --- | --- | --- | 
| /\$1w\$1 (\$1w\$1)/ | - | employee=Doe | 未提供 mapValue。第一個相符項目會映射至現有的欄位名稱變數 (employee)。 | 
| /(\$1w\$1) (\$1w\$1)/ | name | name=John | 第一個相符項目會映射至名為 的新變數name。 | 
| /(?\$1w\$1) (?\$1w\$1)/ | - | firstName=John, lastName=Doe | 使用具名群組時，它們是輸出變數的名稱，並且會忽略 mapValue。 | 
| /(?\$1w\$1) (?\$1w\$1)/ | name | firstName=John, lastName=Doe | 與上述相同 | 