

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

# 查詢和轉換資料
<a name="v10-panels-query-xform"></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)。

Amazon Managed Grafana 支援許多類型的[資料來源](AMG-data-sources.md)。資料來源*查詢*會傳回 Grafana 可以*轉換*和視覺化的資料。每個資料來源都使用自己的查詢語言，且每個資料來源外掛程式都會實作稱為查詢編輯器的查詢建置使用者介面。

**Topics**
+ [關於查詢](#v10-panels-query-xform-about)
+ [導覽查詢索引標籤](#v10-panels-query-xform-navigate)
+ [新增查詢](#v10-panels-query-xform-add)
+ [管理查詢](#v10-panels-query-xform-manage)
+ [查詢選項](#v10-panels-query-xform-options)
+ [寫入表達式查詢](v10-panels-query-xform-expressions.md)
+ [與其他面板共用查詢結果](v10-panels-query-share.md)
+ [轉換資料](v10-panels-xform.md)
+ [對查詢進行故障診斷](v10-panels-query-troubleshoot.md)
+ [計算類型](v10-panels-calculation-types.md)

## 關於查詢
<a name="v10-panels-query-xform-about"></a>

Grafana 面板會透過查詢與資料來源通訊，以擷取視覺化資料。查詢是以資料來源使用的查詢語言撰寫的問題。

您可以在面板的資料來源選項中設定查詢頻率和資料收集限制。Grafana 每個面板最多支援 26 個查詢。

您可以在資料來源區段中找到每個[資料來源](AMG-data-sources.md)查詢語言的詳細資訊。

**查詢編輯器**

每個資料來源的*查詢編輯器*都提供自訂的使用者介面，協助您撰寫利用其唯一功能的查詢。

由於查詢語言之間的差異，每個資料來源查詢編輯器的外觀和功能都不同。根據您的資料來源，查詢編輯器可能會提供自動完成功能、指標名稱、變數建議或視覺化查詢建置界面。

如需特定資料來源唯一查詢編輯器功能的詳細資訊，包括查詢和語法的相關資訊，請參閱資料來源文件：
+ 如需 Amazon Managed Grafana 隨附的資料來源，請參閱[內建資料來源](AMG-data-sources-builtin.md)。
+ 如需 Grafana Enterprise 隨附的資料來源，請參閱 [連線至企業資料來源](AMG-data-sources-enterprise.md)。
+ 對於您透過 安裝的其他資料來源外掛程式[使用外掛程式目錄尋找外掛程式](grafana-plugins.md#plugin-catalog)， 文件會在外掛程式目錄中的 清單中連結。

**查詢語法**

資料來源使用不同的查詢語言來請求資料。如需特定資料來源唯一查詢語言的詳細資訊，請參閱其文件。

**PostgreSQL 範例：**

```
SELECT hostname FROM host WHERE region IN($region)
```

**PromQL 範例：**

```
query_result(max_over_time(<metric>[${__range_s}s]) != <state>)
```

**特殊資料來源**

Grafana 也包含三個特殊資料來源：**Grafana**、**Mixed** 和 **Dashboard**。如需詳細資訊，請參閱[連線至資料來源](AMG-data-sources.md)。

## 導覽查詢索引標籤
<a name="v10-panels-query-xform-navigate"></a>

面板的**查詢**索引標籤包含下列元素：
+ **資料來源選擇器** – 選取要查詢的資料來源。
+ **查詢選項** – 設定最大資料擷取參數和查詢執行時間間隔。
+ **查詢檢查程式按鈕** – 開啟查詢檢查程式面板，您可以在其中檢視和最佳化查詢。
+ **查詢編輯器清單** – 列出您寫入的查詢。
+ **表達式** – 使用表達式建置器建立提醒表達式。如需運算式的相關資訊，請參閱[寫入表達式查詢](v10-panels-query-xform-expressions.md)。

## 新增查詢
<a name="v10-panels-query-xform-add"></a>

查詢會傳回 Grafana 在儀表板面板中視覺化的資料。當您建立面板時，Grafana 會自動選取預設資料來源。

**新增查詢**

1. 編輯您要新增查詢的面板。

1. 選擇 **Queries** (查詢) 索引標籤。

1. 選擇**資料來源**下拉式功能表，然後選取資料來源。

1. 選擇**查詢選項**來設定所需的資料點數量上限。如需查詢選項的詳細資訊，請參閱 [查詢選項](#v10-panels-query-xform-options)。

1. 使用查詢編輯器撰寫查詢。

1. 選擇**套用**。

Grafana 會查詢資料來源並視覺化資料。

## 管理查詢
<a name="v10-panels-query-xform-manage"></a>

Grafana 會在可摺疊查詢列中組織查詢。每個查詢列都包含查詢編輯器，並以字母 (A、B、C 等） 識別。

若要管理您的查詢，您可以複製查詢、隱藏查詢、移除查詢、重新排序查詢，以及切換查詢編輯器的說明。

## 查詢選項
<a name="v10-panels-query-xform-options"></a>

選擇資料來源選擇器旁的**查詢選項**，以查看所選資料來源的設定。您在此處所做的變更只會影響在此面板中進行的查詢。

Grafana 會設定以深灰色文字顯示的預設值。變更會以白色文字顯示。若要將欄位傳回預設設定，請從 欄位刪除白色文字。

面板資料來源查詢選項包括：
+ **最大資料點** – 如果資料來源支援，這會設定傳回的每個序列的資料點數目上限。如果查詢傳回的資料點超過最大資料點設定，則資料來源會藉由依平均、最大或其他函數彙總它們來減少傳回的點數。

  您可以限制點數量，以改善查詢效能或平滑視覺化線條。預設值是圖形的寬度 （或像素數），因為您只能將圖形面板有空間可顯示的資料點視覺化。

  使用串流資料時，Grafana 會使用滾動緩衝區的最大資料點值。串流是資料的連續流程，緩衝會將串流分割成區塊。
+ **最小間隔** – 設定自動計算間隔的最小限制，通常是最小抓取間隔。如果資料點每 15 秒儲存一次，則不會因為間隔低於此值而受益。您也可以將此設定為高於湊集間隔的最小值，以擷取更粗細且功能良好的查詢。
+ **間隔** – 設定您可以用來依時間彙總或分組資料點的時間範圍。

  Grafana 會自動計算適當的間隔，您可以在範本查詢中用作變數。變數的測量單位為秒 (`$__interval`) 或毫秒 ()`$__interval_ms`。

  間隔通常用於彙總函數，例如總和或平均值。例如，這是使用間隔變數 的 Prometheus 查詢`rate(http_requests_total[$__interval])`。

  此自動間隔是根據圖形的寬度計算。當使用者縮小視覺化效果時，間隔會增加，導致更粗細的彙總。同樣地，如果使用者放大，間隔會減少，導致更精細的彙總。

  如需詳細資訊，請參閱[全域變數](v10-dash-variable-add.md#v10-dash-variable-add-global)。
+ **相對時間** – 覆寫個別面板的相對時間範圍，這會導致它們與儀表板右上角儀表板時間選擇器中選取的時間範圍不同。您可以使用此功能在相同的儀表板上顯示不同時段或天數的指標。
**注意**  
當儀表板的時間範圍為絕對時，面板時間覆寫不會有任何影響。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/v10-panels-query-xform.html)
+ **時間轉移** – 透過相對於時間挑選器轉移其開始和結束來覆寫個別面板的時間範圍。例如，您可以將面板的時間範圍變更為早於儀表板時間挑選器兩小時。
**注意**  
當儀表板的時間範圍為絕對值時，面板時間覆寫不會有任何影響。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/v10-panels-query-xform.html)
+ **快取逾時** – *（只有在資料來源中可用時才可見）* 如果您的時間序列存放區具有查詢快取，則覆寫預設快取逾時。將此值指定為以秒為單位的數值。

# 寫入表達式查詢
<a name="v10-panels-query-xform-expressions"></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)。

伺服器端表達式可讓您使用數學和其他操作來操作查詢傳回的資料。運算式會建立新的資料，而且不會操作資料來源傳回的資料。

## 關於表達式
<a name="v10-panels-query-about"></a>

伺服器端表達式可讓您使用數學和其他操作來操作查詢傳回的資料。表達式會建立新的資料，除了一些次要資料重組，以讓表達式的資料可接受輸入之外，不會操作資料來源傳回的資料。

**使用表達式**

[Grafana 警示](v10-alerts.md)最常使用的表達式。處理是在伺服器端完成，因此表達式可以在沒有瀏覽器工作階段的情況下操作。不過，表達式也可以與後端資料來源和視覺化搭配使用。

**注意**  
表達式不適用於舊版儀表板提醒。

表達式旨在透過啟用來自不同資料來源的查詢合併，或提供資料來源中無法使用的操作來增強資料來源。

**注意**  
如果可能，您應該在資料來源內進行資料處理。將資料從儲存複製到 Grafana 伺服器進行處理效率低，因此表達式以輕量型資料處理為目標。

運算式適用於傳回時間序列或數值資料的資料來源查詢。它們也會在[多維資料](getting-started-grafanaui.md#time-series-dimensions)上運作。例如，傳回多個序列的查詢，其中每個序列都由標籤或標籤識別。

個別表達式會接受一或多個查詢或其他表達式做為輸入，並將資料新增至結果。每個個別表達式或查詢都由變數表示，該變數是稱為其 RefID 的具名識別符 （例如，預設字母 `A`或 `B`)。

若要參考個別表達式的輸出或另一個表達式中的資料來源查詢，此識別符會用作變數。

**表達式的類型**

運算式適用於兩種類型的資料。
+ 時間序列的集合。
+ 數字的集合，其中每個數字都是項目。

每個集合會從單一資料來源查詢或表達式傳回，並以 RefID 表示。每個集合都是一組，其中集合中的每個項目都是由儲存為[標籤](getting-started-grafanaui.md#labels)或鍵值對的維度唯一識別。

**資料來源查詢**

伺服器端表達式僅支援後端資料來源的資料來源查詢。通常假設資料標記為時間序列資料。

資料來源查詢與表達式搭配使用時，是由表達式引擎執行。這樣做時，它會將資料重組為一個時間序列或每個資料影格一個數字。例如，如果使用在資料表檢視中的一個影格上傳回多個序列的資料來源，您可能會注意到使用表達式執行時看起來不同。

目前，使用資料影格時支援的唯一非時間序列格式 （數字） 是您的資料表回應，會傳回沒有時間的資料影格、字串欄和一個數字欄：

下列範例資料表會產生一個可與表達式搭配使用的數字。字串資料欄會變成標籤，數字資料欄會變成對應的值。例如`{"Loc": "MIA", "Host": "A"}`，值為 1 的 。


| 本機 | 主機 | Avg\$1CPU | 
| --- | --- | --- | 
| MIA | A | 1 | 
| NYC | B | 2 | 

**操作**

您可以在表達式中使用下列操作：數學、減少和重新取樣。

**Math**

數學適用於時間序列或數字資料的自由格式數學公式。數學運算需要數字和時間序列做為輸入，並將其變更為不同的數字和時間序列。

來自其他查詢或表達式的資料會參考字首為美元符號的 RefID，例如 `$A`。如果變數的名稱中有空格，則可以使用如 的架構語法`${my variable}`。

數值常數可以是十進位 (`2.24`)、八進位 （前導零，如 `072`) 或十六進位 （前導 0x，如 `0x2A`)。也支援指數和符號 （例如 `-0.8e-2`)。

**運算子**

支援算術 (`+`、二進位和單元 `-`、`*`、`/``%`、、指數 `**`)、關聯式 (`<`、`>`、`==``!=`、`>=`、`<=`) 和邏輯 (`||`、 `&&`和單元 `!`) 運算子。

操作與資料的行為方式取決於它是數字還是時間序列資料。

使用二進位操作，例如 `$A + $B`或 `$A || $B`，會根據資料類型，以下列方式套用運算子：
+ 如果 `$A`和 `$B` 都是數字，則操作會在兩個數字之間執行。
+ 如果一個變數是數字，而另一個變數是時間序列，則會執行時間序列中每個點的值與數字之間的操作。
+ 如果 `$A`和 `$B` 都是時間序列資料，則會針對 `$A`和 中存在的每個時間戳記，執行兩個序列中每個值之間的操作`$B`。`Resample` 操作可用來排列時間戳記。

摘要：
+ 數字 <Operation> 數字 = 數字
+ 數字 <Operation> 系列 = 系列
+ 系列 <Operation> 系列 = 系列

由於表達式使用由單一變數表示的多個序列或數字，因此二進位操作也會在兩個變數之間執行聯集 （聯結）。這是根據與每個個別序列或數字相關聯的識別標籤來完成的。

因此，如果您的數字具有 `{host=web01}`中的標籤`$A`，而另一個數字`$B`具有相同的標籤，則 操作會在每個變數中的這兩個項目之間執行，結果會共用相同的標籤。此聯集的行為規則如下：
+ 沒有標籤的項目將加入任何項目。
+ 如果 `$A`和 `$B` 都只包含一個項目 （一個序列或一個數字），則它們會聯結。
+ 如果標籤完全相符，則會加入。
+ 如果標籤是另一個標籤的子集，例如， 中的項目`$A`會加上標籤，`{host=A,dc=MIA}`而 `$B` 中的項目會加上標籤，`{host=A}`他們會加入。
+ 如果在變數中，例如每個項目`$A`有不同的標籤索引鍵，則聯結行為是未定義的。

關聯式和邏輯運算子傳回 0 表示 false 1 表示 true。

**數學函數**

雖然大多數函數存在於自己的表達式操作中，但數學操作確實有一些類似於數學運算子或符號的函數。當函數可以採用數字或序列時，將會傳回與引數相同的類型。當它是序列時，針對序列中每個點的值執行的 操作。

*abs*

abs 會傳回其引數的絕對值，可以是數字或序列。例如 `abs(-1)` 或 `abs($A)`。

*is\$1inf*

is\$1inf 採用數字或序列，並傳回`Inf`值 `1` （負值或正值） `0` 和其他值。例如 `is_inf($A)`。

**注意**  
如果您需要特別檢查負無限，例如，您可以執行 等比較`$A == infn()`。

*is\$1nan*

is\$1nan 採用數字或序列，並傳回`1``NaN`值 和其他`0`值 。例如 `is_nan($A)`。此檢查需要此函數，因為 `NaN` 不等於 `NaN`。

*is\$1null*

is\$1null 採用數字或序列，並傳回`1``null`值 和其他值 `0` 。例如 `is_null($A)`。

*is\$1number*

is\$1number 採用數字或序列，並`1`傳回所有實數值`0`和其他值 （分別為 `null`、`Inf-`、 `Inf+`和 `NaN`)。例如 `is_number($A)`。

*日誌*

Log 會傳回其引數的自然對數，可以是數字或序列。如果值小於 0，`NaN`則會傳回 。例如 `log(-1)` 或 `log($A)`。

*inf、infn、nan 和 null*

inf、infn、nan 和 null 函數都會傳回名稱的單一值。它們主要用於測試。範例：`null()`。

*四捨五入*

Round 會傳回四捨五入整數值。例如 `round(3.123)` 或 `round($A)`。

*頭腦*

Ceil 會將數字四捨五入到最接近的整數值。例如，`ceil(3.123)` 傳回 `4`。

*樓層*

下限會將數字四捨五入到最接近的整數值。例如，`floor(3.123`) 會傳回 `3`。

**減少**

減少 需要一個或多個從查詢或表達式傳回的時間序列，並將每個序列轉換為單一數字。時間序列的標籤會保留為每個輸出的減少數字上的標籤。

*欄位：*
+ **函數** – 要使用的縮減函數
+ **輸入** – 要重新取樣的變數 (refID （例如 `A`))
+ **模式** – 當序列包含非數值 (null、NaN、\$1-Inf) 時，允許降低函數的控制行為

**減少函數**

*Count (計數)*

Count 會傳回每個系列中的點數。

*平均值*

平均值會傳回每個序列中所有值的總計，除以該序列中的點數。在 `strict`模式中，如果序列中的任何值為 null 或 nan，或者如果序列為空，則會傳回 NaN。

*最小值和最大值*

最小值和最大值分別傳回序列中的最小或最大值。在 `strict`模式中，如果序列中的任何值為 null 或 nan，或者如果序列為空，則會傳回 NaN。

*Sum (總和)*

總和會傳回序列中所有值的總計。如果序列長度為零，總和將為 0。在 `strict`模式中，如果系列中有任何 NaN 或 Null 值，則會傳回 NaN。

*最後一個*

上次傳回序列中的最後一個數字。如果序列沒有值，則傳回 NaN。

**減少模式**

*嚴格*

在嚴格模式下，輸入序列會照原樣處理。如果序列中的任何值是非數值 (null、NaN 或 \$1-Inf)，則會傳回 NaN。

*捨棄非數值*

在此模式中，輸入序列中的所有非數值 (null、NaN 或 \$1-Inf) 都會在執行縮減函數之前篩選掉。

*取代非數值*

在此模式中，所有非數值都會以預先定義的值取代。

**重新取樣**

重新取樣會將每個時間序列中的時間戳記變更為具有一致的時間間隔。主要使用案例是 ，因此您可以重新取樣不共用相同時間戳記的時間序列，以便在它們之間執行數學。這可以透過重新取樣兩個序列中的每個序列，然後在參考重新取樣變數的數學操作中完成。

*欄位：*
+ **輸入** – 要重新取樣的時間序列資料變數 (refID （例如 `A`))
+ **重新取樣**至 - 重新取樣的持續時間，例如 `10s`。單位可以是`s`秒、`m`分鐘、`h`小時、`d`天、`w`週和`y`年。
+ **Downsample** – 當每個視窗範例有多個資料點時要使用的減少函數。如需行為詳細資訊，請參閱減少操作。
+ **Upsample** – 用來填充沒有資料點之視窗範例的方法。
  + **鍵盤**會填入最後一個已知值
  + 回**填**下一個已知值
  + **fillna** 以 NaNs填滿空的範例時段

## 撰寫表達式
<a name="v10-panels-query-write"></a>

如果您的資料來源支援，則 Grafana 會顯示**表達式**按鈕，並在查詢編輯器清單中顯示任何現有的表達式。

**撰寫表達式**

1. 開啟面板。

1. 在查詢下方，選擇**表達式**。

1. 在**操作**欄位中，選取您要寫入的表達式類型。

1. 撰寫表達式。

1. 選擇**套用**。

## 特殊案例
<a name="v10-panels-query-special"></a>

當任何查詢的資料來源未傳回任何序列或數字時，表達式引擎會傳回 `NoData`。例如，如果請求包含兩個由 表達式合併的資料來源查詢，如果由至少一個資料來源查詢`NoData`傳回，則整個查詢傳回的結果為 `NoData`。如需 Grafana 警示如何處理`NoData`結果的詳細資訊，請參閱 [設定 Grafana 受管警示規則](v10-alerting-configure-grafanamanaged.md)。

在多個查詢上使用表達式的情況下，表達式引擎需要所有查詢都傳回相同的時間戳記。例如，如果使用數學來結合多個 SQL 查詢的結果，而每個查詢都使用 `SELECT NOW() AS "time"`，則表達式只有在所有查詢評估`NOW()`為相同的時間戳記時才有效，這不一定會發生。若要解決此問題，您可以將 `NOW()`取代為任意時間，例如 `SELECT 1 AS "time"`或任何其他有效的 UNIX 時間戳記。

# 與其他面板共用查詢結果
<a name="v10-panels-query-share"></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)。

Grafana 可讓您針對儀表板中的任何其他面板，使用某個面板的查詢結果。在面板之間共用查詢結果可減少對資料來源提出的查詢數量，這可以改善儀表板的效能。

*儀表板*資料來源可讓您在儀表板中選取面板，其中包含您要共用結果的查詢。Grafana 不會為每個面板傳送個別的查詢，而是傳送一個查詢，而其他面板會使用查詢結果來建構視覺化效果。

例如，當您有數個面板視覺化相同的資料時，此策略可以大幅減少要進行的查詢數量。

**共用查詢結果**

1. [建立儀表板](v10-dash-creating.md)。

1. 將標題變更為 `Source panel`。您將使用此面板作為其他面板的來源。

1. 定義您要共用的查詢。

   如果您沒有可用的資料來源，請使用 **Grafana** 資料來源，這會傳回您可以用於測試的隨機時間序列。

1. 新增第二個面板，然後在查詢編輯器中選取**儀表板**資料來源。

1. 在**從面板使用結果清單中**，選取您建立的第一個面板。

來源面板中定義的所有查詢現在可供新面板使用。在來源面板中進行的查詢可以與多個面板共用。

您可以按一下任何查詢，前往定義查詢的面板。

# 轉換資料
<a name="v10-panels-xform"></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)。

在系統套用視覺化效果之前，轉換是操作查詢所傳回資料的強大方式。使用轉換，您可以：
+ 重新命名欄位
+ 聯結時間序列資料
+ 跨查詢執行數學操作
+ 使用一個轉換的輸出做為另一個轉換的輸入

對於依賴相同資料集的多個檢視的使用者，轉換提供了建立和維護許多儀表板的有效方法。

您也可以使用一個轉換的輸出做為另一個轉換的輸入，這會導致效能提升。

**注意**  
有時系統無法繪製轉換的資料圖形。發生這種情況時，請按一下視覺化上方的**資料表檢視**切換，以切換至資料的資料表檢視。這可協助您了解轉換的最終結果。

## 轉換類型
<a name="v10-panels-xform-types"></a>

Grafana 提供多種轉換資料的方式。以下是轉換函數的完整清單。

## 轉換順序
<a name="v10-panels-xform-order"></a>

有多個轉換時，Grafana 會依列出的順序套用轉換。每個轉換都會建立結果集，然後傳遞至處理管道中的下一個轉換。

Grafana 套用轉換的順序會直接影響結果。例如，如果您使用減少轉換將一欄的所有結果精簡為單一值，則您只能將轉換套用至該單一值。

## 將轉換函數新增至資料
<a name="v10-panels-xform-add"></a>

下列步驟會引導您將轉換新增至資料。本文件不包含每種轉換類型的步驟。

**將轉換新增至面板**

1. 導覽至您要新增一或多個轉換的面板。

1. 將滑鼠游標移至面板的任何部分，即可在右上角顯示動作選單。

1. 從動作功能表中選擇**編輯**。

1. 選取**轉換**索引標籤。

1. 選取轉換。隨即出現轉換列，供您設定轉換選項。

1. 若要套用另一個轉換，請選擇**新增轉換**。此轉換作用於先前轉換傳回的結果集。

## 偵錯轉換
<a name="v10-panels-xform-debug"></a>

若要查看轉換的輸入和輸出結果集，請選擇轉換列右側的偵錯 （偵錯） 圖示。這會顯示輸入資料，以及轉換的結果做為輸出。

輸入和輸出結果集可協助您偵錯轉換。

## 停用轉換
<a name="v10-panels-xform-disable"></a>

您可以選擇轉換列右上角的顯示 （眼睛） 圖示來停用或隱藏轉換。這會停用該特定轉換的套用動作，並有助於在您逐一變更多個轉換時識別問題。

## 篩選轉換
<a name="v10-panels-xform-filter"></a>

如果您的轉換使用多個查詢，您可以篩選這些查詢，並將選取的轉換套用至其中一個查詢。若要這樣做，請選擇轉換列右上角的篩選條件圖示。這會開啟下拉式清單，其中包含面板上使用的查詢清單。從這裡，您可以選取要轉換的查詢。

您也可以依註釋 （包括範例） 篩選，將轉換套用至它們。當您這樣做時，欄位清單會變更，以反映註釋或範例工具提示中的欄位清單。

如果您的面板具有多個查詢或資料來源 （即面板或註釋資料），則一律會顯示篩選條件圖示，但如果套用先前合併查詢輸出的轉換，則可能無法運作。這是因為一個轉換接受上一個轉換的輸出。

## 刪除轉換
<a name="v10-panels-xform-delete"></a>

我們建議您移除不需要的轉換。當您刪除轉換時，會從視覺化中移除資料。

事前準備：

識別依賴轉換的所有儀表板，並通知受影響的儀表板使用者。

**刪除轉換**

1. 開啟面板進行編輯。

1. 選取**轉換**索引標籤。

1. 選擇您要刪除之轉換旁的垃圾桶圖示。

# 轉換函數
<a name="v10-panels-xform-functions"></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)。

您可以對資料執行下列轉換。

## 從計算新增欄位
<a name="v10-panels-xform-funcs-add"></a>

使用此轉換來新增從其他兩個欄位計算的新欄位。每次轉換都可讓您新增一個新欄位。
+ **模式** - 選取模式：
  + **減少資料列 – **個別將選取的計算套用至所選欄位的每一列。
  + **二進位操作** – 對來自兩個所選欄位的單一資料列中的值套用基本二進位操作 （例如總和或乘以）。
  + **Unary 操作** – 對所選欄位中單一資料列中的值套用基本的 Unary 操作。可用的操作包括：
    + **絕對值 (abs)** – 傳回指定表達式的絕對值。它代表從零到正數的距離。
    + **自然指數 (exp)** – 傳回提高到指定表達式能力的 *e*。
    + **自然對數 (ln)** – 傳回指定表達式的自然對數。
    + **下限 （下限）** – 傳回小於或等於指定表達式的最大整數。
    + **上限 (ceil)** – 傳回大於或等於指定表達式的最小整數。
  + **累積函數** – 在目前資料列和所有先前資料列上套用函數。
    + **總計** – 計算累計總計，最多可達並包含目前資料列。
    + **平均值** – 計算平均值，直到並包括目前的資料列。
  + **視窗函數** – 套用視窗函數。視窗可以是*結尾*或*置中*。使用結尾視窗時，目前資料列將是視窗中的最後一列。使用置中視窗時，視窗將置中在目前資料列上。對於均勻的視窗大小，視窗將置中在目前資料列和上一列之間。
    + **平均值** – 計算移動平均值或執行平均值。
    + **** – 計算移動的標準差。
    + **變異數** – 計算移動變異數。
  + **資料列索引** – 使用資料列索引插入欄位。
+ **欄位名稱** – 選取您要在新欄位的計算中使用的欄位名稱。
+ **計算**：如果您選取**減少資料列**模式，則**計算**欄位會顯示。選取 欄位以查看可用來建立新欄位的計算選項清單。如需可用計算的資訊，請參閱[計算類型](v10-panels-calculation-types.md)。
+ **操作** – 如果您選取**二進位操作**或 **Unary 操作**模式，則會顯示**操作**欄位。這些欄位可讓您對來自兩個所選欄位的單一資料列中的值執行基本數學操作。您也可以使用二進位操作的數值。
+ **做為百分位數**：如果您選取**資料列索引**模式，則會顯示**做為百分位數**切換。此切換可讓您將資料列索引轉換為資料列總數的百分比。
+ **別名** – （選用） 輸入新欄位的名稱。如果您將此保留空白，則 欄位將命名為符合計算。
+ **取代所有欄位** – （選用） 如果您想要隱藏所有其他欄位，並僅在視覺化中顯示計算欄位，請選取此選項。

**注意**  
**累積函數**和**視窗函數**在公開預覽中是最新的。Grafana Labs 提供有限的支援，而且在功能全面推出之前可能會發生重大變更。

## 串連欄位
<a name="v10-panels-xform-funcs-concat"></a>

**串連欄位**

使用此轉換可將所有影格的所有欄位合併為一個結果。

例如，如果您有個別的查詢擷取溫度和運作時間資料 （查詢 A) 以及空氣品質索引和錯誤資訊 （查詢 b)，套用串連轉換會在單一檢視中產生包含所有相關資訊的合併資料框架。

請考慮以下兩個項目。

*查詢 A：*


| 暫存 | 執行時間 | 
| --- | --- | 
| 15.4 | 1230233 | 

*查詢 B：*


| AQI | 錯誤 | 
| --- | --- | 
| 3.2 | 5 | 

串連欄位之後，資料框架會是：


| 暫存 | 執行時間 | AQI | 錯誤 | 
| --- | --- | --- | --- | 
| 15.4 | 1230233 | 3.2 | 5 | 

此轉換可簡化合併不同來源資料的程序，提供分析和視覺化的完整檢視。

## 查詢結果中的組態
<a name="v10-panels-xform-funcs-config"></a>

**查詢結果中的組態**

使用此轉換來選取一個查詢，並擷取標準選項，例如**最小值**、**最大值**、**單位**和**閾值**，並將其套用至其他查詢結果。這會根據特定查詢傳回的資料，啟用動態視覺化組態。

**選項**
+ **組態查詢** – 選取查詢，以傳回您要用作組態的資料。
+ **套用到** – 選取組態應套用到的欄位或序列。
+ **套用至選項** – 指定欄位類型或使用欄位名稱 regex，視您在**套用至**中的選擇而定。

**欄位映射表**

您可以在組態選項下方找到欄位映射表。此資料表列出組態查詢傳回的資料中找到的所有欄位，以及**「使用為**」和**「選取**」選項。它提供對映射欄位以設定屬性的控制，而且對於多列，它可讓您選擇要選取的值。

下列範例顯示輸入查詢和用作欄位組態的查詢。

*輸入查詢*


| 時間 | Value | 
| --- | --- | 
| 1626178119127 | 10 | 
| 1626178119129 | 30 | 

*組態查詢*


| 時間 | Value | 
| --- | --- | 
| 1626178119127 | 100 | 
| 1626178119129 | 100 | 

*輸出查詢 （與輸入相同，但現在在值欄位中具有組態）*


| 時間 | 值 （組態：Max=100) | 
| --- | --- | 
| 1626178119127 | 10 | 
| 1626178119129 | 30 | 

每個欄位現在都有最大組態選項集。**最小值**、**最大值**、**單位**和**閾值**等選項是 teh 欄位組態的一部分。如果設定，視覺效果會使用它們，而不是在面板編輯器選項窗格中手動設定的任何選項。

**值映射**

您也可以將查詢結果轉換為值映射。使用此選項時，組態查詢結果中的每一列都會定義單一值映射資料列。請參閱以下範例。

*組態查詢結果*


| Value | 文字 | 顏色 | 
| --- | --- | --- | 
| L | 低 | 藍色 | 
| M | 中 | 綠色 | 
| H | 高 | 紅色 | 

*在欄位映射中，指定：*


| 欄位 | 使用 做為 | Select | 
| --- | --- | --- | 
| Value | 值映射/值 | 所有值 | 
| 文字 | 值映射/文字 | 所有值 | 
| 顏色 | 值映射/顏色 | 所有值 | 

Grafana 會從查詢結果建置值映射，並將其套用至實際的資料查詢結果。您應該會看到根據組態查詢結果映射和著色的值。

## 轉換欄位類型
<a name="v10-panels-xform-funcs-convert"></a>

使用此轉換來修改指定欄位的欄位類型。

此轉換有下列選項：
+ **欄位** – 從可用欄位中選取 。
+ **as** – 選取要轉換至的 FieldType。
  + **數值** – 嘗試將值設為數字。
  + **字串** – 會建立值字串。
  + **時間** – 嘗試將值剖析為時間。
    + 會顯示一個選項，以指定 DateFormat 做為字串的輸入，例如 `yyyy-mm-dd`或 `DD MM YYYY hh:mm:ss`。
  + **布林值** – 會將值設為布林值。
  + **Enum** – 將使值成為列舉。
    + 將顯示用於管理列舉的資料表。
  + **其他** – 嘗試將值剖析為 json。

例如，請考慮下列查詢，這些查詢可以透過選取時間欄位、**時間**，以及日期格式為 來修改`YYYY`。


| 時間 | 標記 | Value | 
| --- | --- | --- | 
| 2017-07-01 | 上方 | 25 | 
| 2018-08-02 | 下方 | 22 | 
| 2019-09-02 | 下方 | 29 | 
| 2020-10-04 | 上方 | 22 | 

結果：


| 時間 | 標記 | Value | 
| --- | --- | --- | 
| 2017-01-01 00：00：00 | 上方 | 25 | 
| 2018-01-01 00：00：00 | 下方 | 22 | 
| 2019-01-01 00：00：00 | 下方 | 29 | 
| 2020-01-01 00：00：00 | 上方 | 22 | 

此轉換可讓您彈性調整資料類型，確保視覺化中的相容性和一致性。

## 擷取欄位
<a name="v10-panels-xform-funcs-extract"></a>

使用此轉換來選取資料來源，並以不同的格式從中擷取內容。此轉換具有下列欄位：
+ **來源** – 選取資料來源的欄位。
+ **格式** – 選擇下列其中一項：
  + **JSON** – 從來源剖析 JSON 內容。
  + **Key\$1value 對** – 以 格式`a=b`或從`c:d`來源剖析內容。
  + **自動** – 自動探索欄位。
+ **取代所有欄位 – **（選用） 選取此選項可隱藏所有其他欄位，並在視覺效果中僅顯示計算欄位。
+ **保留時間** - （選用） 僅在**取代所有欄位**為 true 時才可用。將時間欄位保留在輸出中。

請考慮下列資料集：

**資料集範例**


| 時間戳記 | json\$1data | 
| --- | --- | 
| 1636678740000000000 | \$1"value"： 1\$1 | 
| 1636678680000000000 | \$1"value"： 5\$1 | 
| 1636678620000000000 | \$1"value"： 12\$1 | 

您可以使用此組態準備要由[時間序列面板](v10-panels-time-series.md)使用的資料：
+ 來源：json\$1data
+ 格式：JSON
  + 欄位：值
  + 別名：my\$1value
+ 取代所有欄位： true
+ 保留時間： true

這會產生下列輸出：

**轉換的資料**


| 時間戳記 | my\$1value | 
| --- | --- | 
| 1636678740000000000 | 1 | 
| 1636678680000000000 | 5 | 
| 1636678620000000000 | 12 | 

透過此轉換，您可以透過各種方式擷取和格式化資料。您可以根據您的特定資料需求自訂擷取格式。

## 從資源查詢欄位
<a name="v10-panels-xform-funcs-lookup"></a>

透過從外部來源查詢其他欄位，使用此轉換來豐富欄位值。

此轉換具有下列欄位：
+ **欄位** – 從資料集中選取文字欄位。
+ **查詢** – 從**國家**/地區、**美國州**和**機場**中選擇。

**注意**  
此轉換僅支援空間資料。

例如，如果您有此資料：

**資料集範例**


| Location | 值 | 
| --- | --- | 
| AL | 0 | 
| AK | 10 | 
| 亞利桑那州 | 5 | 
| 阿肯色 | 1 | 
| 某處 | 5 | 

使用此組態：
+ 欄位：位置
+ 查詢：美國州

您會收到下列輸出：

**轉換的資料**


| Location | ID | 名稱 | Lng | 延遲 | 值 | 
| --- | --- | --- | --- | --- | --- | 
| AL | AL | Alabama | -80.891064 | 12.448457 | 0 | 
| AK | AK | 阿肯色 | -100.891064 | 24.448457 | 10 | 
| 亞利桑那州 |  |  |  |  | 5 | 
| 阿肯色 |  |  |  |  | 1 | 
| 某處 |  |  |  |  | 5 | 

此轉換可讓您透過從外部來源擷取其他資訊來增強資料，提供更全面的資料集進行分析和視覺化。

## 依查詢 refId 篩選資料
<a name="v10-panels-xform-funcs-queryrefid"></a>

使用此轉換可在具有多個查詢的面板中隱藏一或多個查詢。

Grafana 會以深灰色文字顯示查詢識別字母。選擇查詢識別符以切換篩選。如果查詢字母為白色，則會顯示結果。如果查詢字母為深色，則會隱藏結果。

**注意**  
此轉換不適用於 Graphite，因為此資料來源不支援將傳回的資料與查詢關聯。

## 依值篩選資料
<a name="v10-panels-xform-funcs-values"></a>

使用此轉換可直接在視覺化中選擇性地篩選資料點。此轉換提供選項，可根據套用至所選欄位的一或多個條件來包含或排除資料。

如果您的資料來源不原生依值篩選，則此轉換非常有用。如果您使用共用查詢，也可以使用此值來縮小顯示範圍。

所有欄位的可用條件如下：
+ **Regex** – 符合 regex 表達式。
+ **為 Null** – 如果值為 Null，則相符。
+ **Is Not Null** – 如果值不是 Null，則相符。
+ **等於** – 如果值等於指定的值，則相符。
+ **不同** – 如果值與指定的值不同，則相符。

數字欄位的其他可用條件為：
+ **較大** – 如果值大於指定的值，則相符。
+ **較低** – 如果值低於指定的值，則相符。
+ **大於或等於** – 如果值大於或等於，則相符。
+ **較低或相等** – 如果值較低或相等，則相符。
+ **範圍** – 符合包含的指定最小值和最大值、最小值和最大值之間的範圍。

請考慮下列資料集：


| 時間 | 溫度 | 高度 | 
| --- | --- | --- | 
| 2020-07-07 11：34：23 | 32 | 101 | 
| 2020-07-07 11：34：22 | 28 | 125 | 
| 2020-07-07 11：34：21 | 26 | 110 | 
| 2020-07-07 11：34：20 | 23 | 98 | 
| 2020-07-07 10：32：24 | 31 | 95 | 
| 2020-07-07 10：31：22 | 20 | 85 | 
| 2020-07-07 09：30：57 | 19 | 101 | 

如果您**包含**溫度低於 30°C 的資料點，則組態會如下所示：
+ 篩選條件類型：'Include'
+ 條件：'Temperature' 符合 'Lower Than' '30' 的資料列

您會收到以下結果，其中只會包含低於 30°C 的溫度：

**轉換的資料**


| 時間 | 溫度 | 高度 | 
| --- | --- | --- | 
| 2020-07-07 11：34：22 | 28 | 125 | 
| 2020-07-07 11：34：21 | 26 | 110 | 
| 2020-07-07 11：34：20 | 23 | 98 | 
| 2020-07-07 10：31：22 | 20 | 85 | 
| 2020-07-07 09：30：57 | 19 | 101 | 

您可以將多個條件新增至篩選條件。例如，您可能只想在海拔高度大於 100 時包含資料。若要這麼做，請將該條件新增至下列組態：
+ 篩選條件類型：'Include' rows that 'Match All' conditions
+ 條件 1：'Temperature' 符合 'Lower' 而非 '30' 的資料列
+ 條件 2：「Altitude」符合「Greater」超過「100」的資料列

當您有多個條件時，您可以選擇是否要將動作 （包含/排除） 套用至**符合所有**條件或**符合任何**您新增條件的資料列。

在上述範例中，我們選擇**全部相符**，因為我們想要包含溫度低於 30°C *且*高度高於 100 的資料列。如果我們希望包含溫度低於 30°C *或*高度高於 100 的資料列，則我們會選取**符合任何**資料列。這將包含原始資料中的第一列，其溫度為 32°C （不符合第一個條件），但高度為 101 （符合第二個條件），因此包含在內。

系統會忽略無效或設定不完整的條件。

這種多樣化的資料篩選轉換可讓您根據特定條件選擇性地包含或排除資料點。自訂條件來量身打造資料簡報，以滿足您獨特的分析需求。

## 依名稱篩選欄位
<a name="v10-panels-xform-funcs-name"></a>

使用此轉換移除部分查詢結果。篩選欄位名稱的方法有三種：
+ 輸入規則表達式。
+ 手動選取包含的欄位。
+ 使用儀表板變數。

*使用規則表達式*

當您使用規則運算式進行篩選時，會包含符合規則運算式的欄位名稱。例如，使用規則表達式只會`'prod.*'`傳回開頭為 的欄位 `prod`

規則表達式可以使用 `${variableName}` 語法包含插入的儀表板變數。

*手動選取包含的欄位*

選取或取消選取欄位名稱，以從結果中移除它們。如果也包含規則表達式，則會包含由表達式比對的欄位，即使未勾選也一樣。

*使用儀表板變數*

選取**從變數**，以讓您選取用來包含欄位的儀表板變數。透過設定具有多個選項的儀表板變數，可以在多個視覺效果中顯示相同的欄位。

此轉換可讓您靈活地量身打造查詢結果，以專注於有效分析和視覺化所需的特定欄位。

## 格式字串
<a name="v10-panels-xform-funcs-string"></a>

使用此轉換來自訂字串欄位的輸出。此轉換具有下列欄位：
+ **大寫** – 以大寫字元格式化整個字串。
+ **小寫** – 以小寫字元格式化整個字串。
+ **句子案例** – 將字串的第一個字元格式化為大寫。
+ **標題大小**寫 – 將字串中每個字詞的第一個字元格式化為大寫。
+ **Pascal 大小**寫 – 將字串中每個字詞的第一個字元格式化為大寫，且字詞之間不包含空格。
+ **駝色大小寫** – 將字串中每個單字的第一個字元格式化為大寫，第一個單字除外，且單字之間不包含空格。
+ **蛇案例** – 以小寫格式格式化字串中的所有字元，並使用底線，而不是單字之間的空格。
+ **Kebab 大小寫** – 以小寫格式格式化字串中的所有字元，並在單字之間使用破折號而非空格。
+ **Trim** – 從字串中移除所有開頭和結尾空格。
+ **子字串** – 使用指定的開始和結束位置傳回字串的子字串。

此轉換提供便捷的方式來標準化和自訂字串資料的呈現，以改善視覺化和分析。

**注意**  
此轉換目前為公開預覽。Grafana Labs 提供的支援有限，而且中斷變更可能會在功能全面推出之前發生。

## 格式時間
<a name="v10-panels-xform-funcs-time"></a>

使用此轉換來自訂時間欄位的輸出。您可以使用 [Moment.js 格式字串](https://momentjs.com/docs/#/displaying/)來格式化輸出。例如，如果您只想顯示時間欄位的年份，格式字串 'YYYY' 可用於顯示日曆年 （例如 1999 或 2012)。

**轉換之前：**


| 時間戳記 | 事件 | 
| --- | --- | 
| 1636678740000000000 | 系統啟動 | 
| 1636678680000000000 | 使用者登入 | 
| 1636678620000000000 | 資料已更新 | 

**套用 'YYYY-MM-DD HH：mm：ss' 之後：**


| 時間戳記 | 事件 | 
| --- | --- | 
| 2021-11-12 14：25：40 | 系統啟動 | 
| 2021-11-12 14：24：40 | 使用者登入 | 
| 2021-11-12 14：23：40 | 資料已更新 | 

此轉換可讓您量身打造視覺效果中的時間呈現，在顯示時間資料時提供彈性和精確度。

**注意**  
此轉換適用於使用 Grafana v10 做為 Alpha 功能的 工作空間。

## 分組依據
<a name="v10-panels-xform-funcs-group"></a>

此轉換會依指定的欄位 （資料欄） 值將資料分組，並處理每個群組的計算。選取以查看計算選項的清單。

以下是原始資料的範例。


| 時間 | 伺服器 ID | CPU 溫度 | 伺服器狀態 | 
| --- | --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 伺服器 1 | 80 | Shutdown | 
| 7/7/2020 上午 11：34：20 | 伺服器 3 | 62 | OK | 
| 7/7/2020 上午 10：32：20 | 伺服器 2 | 90 | 過載 | 
| 7/7/2020 上午 10：31：22 | 伺服器 3 | 55 | OK | 
| 7/7/2020 上午 9：30：57 | 伺服器 3 | 62 | Rebooting (重新開機中) | 
| 7/7/2020 上午 9：30：05 | 伺服器 2 | 88 | OK | 
| 7/7/2020 上午 9：28：06 | 伺服器 1 | 80 | OK | 
| 7/7/2020 上午 9：25：05 | 伺服器 2 | 88 | OK | 
| 7/7/2020 上午 9：23：07 | 伺服器 1 | 86 | OK | 

此轉換分為兩個步驟。首先，指定一或多個欄位來分組資料。這會將這些欄位的所有相同值分組在一起，就像您排序它們一樣。例如，如果我們依伺服器 ID 欄位分組，則會以下列方式將資料分組：


| 時間 | 伺服器 ID | CPU 溫度 | 伺服器狀態 | 
| --- | --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 伺服器 1 | 80 | Shutdown | 
| 7/7/2020 上午 9：28：06 | 伺服器 1 | 80 | OK | 
| 7/7/2020 上午 9：23：07 | 伺服器 1 | 86 | OK | 
| 7/7/2020 上午 10：32：20 | 伺服器 2 | 90 | 過載 | 
| 7/7/2020 上午 9：30：05 | 伺服器 2 | 88 | OK | 
| 7/7/2020 上午 9：25：05 | 伺服器 2 | 88 | OK | 
| 7/7/2020 上午 11：34：20 | 伺服器 3 | 62 | OK | 
| 7/7/2020 上午 10：31：22 | 伺服器 3 | 55 | OK | 
| 7/7/2020 上午 9：30：57 | 伺服器 3 | 62 | Rebooting (重新開機中) | 

具有相同伺服器 ID 值的所有資料列都會分組在一起。

在選擇要將資料分組的欄位之後，您可以在其他欄位上新增各種計算，並將計算套用至每個資料列群組。例如，我們可以計算每個伺服器的平均 CPU 溫度。因此，我們可以新增套用至 CPU 溫度欄位*的平均*計算，以取得下列項目：


| 伺服器 ID | CPU 溫度 （平均值） | 
| --- | --- | 
| 伺服器 1 | 82 | 
| 伺服器 2 | 88.6 | 
| 伺服器 3 | 59.6 | 

而且我們可以新增多個計算。例如：
+ 對於欄位時間，我們可以計算*最後一個*值，以了解何時收到每個伺服器的最後一個資料點
+ 對於欄位伺服器狀態，我們可以計算*最後一個*值，以了解每個伺服器的最後一個狀態值
+ 對於欄位溫度，我們也可以計算*最後一個*值，以了解每個伺服器的最新監控溫度

然後，我們會取得：


| 伺服器 ID | CPU 溫度 （平均值） | CPU 溫度 （最後一個） | 時間 （上次） | 伺服器狀態 （最後一個） | 
| --- | --- | --- | --- | --- | 
| 伺服器 1 | 82 | 80 | 7/7/2020 上午 11：34：20 | Shutdown | 
| 伺服器 2 | 88.6 | 90 | 7/7/2020 上午 10：32：20 | 過載 | 
| 伺服器 3 | 59.6 | 62 | 7/7/2020 上午 11：34：20 | OK | 

此轉換可讓您從時間序列中擷取金鑰資訊，並以方便的方式顯示。

## 分組到矩陣
<a name="v10-panels-xform-funcs-groupmatrix"></a>

使用此轉換結合三個欄位，做為查詢輸出中資料**欄**、**資料列**和**儲存格值**欄位的輸入，並產生矩陣。矩陣的計算方式如下：

**原始資料**


| 伺服器 ID | CPU 溫度 | 伺服器狀態 | 
| --- | --- | --- | 
| 伺服器 1 | 82 | OK | 
| 伺服器 2 | 88.6 | OK | 
| 伺服器 3 | 59.6 | Shutdown | 

我們可以使用 的值`Server Status`做為資料欄名稱、`Server ID`值做為資料列名稱，以及 `CPU Temperature`做為每個儲存格的內容來產生矩陣。每個儲存格的內容將針對現有資料欄 (`Server Status`) 和資料列組合 () 顯示`Server ID`。對於其餘儲存格，您可以選擇要在其中顯示的值：**Null**、**True**、**False** 或**空白**。

**輸出**


| 伺服器 IDServer 狀態 | OK | Shutdown | 
| --- | --- | --- | 
| 伺服器 1 | 82 |  | 
| 伺服器 2 | 88.6 |  | 
| 伺服器 3 |  | 59.6 | 

透過從查詢結果中指定欄位，使用此轉換來建構矩陣。矩陣輸出會反映這些欄位中唯一值之間的關係。這可協助您以清晰且結構化的矩陣格式呈現複雜的關係。

## 群組到巢狀資料表
<a name="v10-panels-xform-funcs-grouptable"></a>

使用此轉換，依指定的欄位 （資料欄） 值將資料分組，並在每個群組上處理計算。會產生共用相同分組欄位值的記錄，以顯示在巢狀資料表中。

若要計算欄位的統計資料，請選取欄位旁的方塊，然後選擇**計算**選項。這會新增另一個選取方塊，其中包含要選取的統計資料。

下表顯示範例資料。


| 時間 | 伺服器 ID | CPU 溫度 | 伺服器狀態 | 
| --- | --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 伺服器 1 | 80 | Shutdown | 
| 7/7/2020 上午 11：34：20 | 伺服器 3 | 62 | OK | 
| 7/7/2020 上午 10：32：20 | 伺服器 2 | 90 | 過載 | 
| 7/7/2020 上午 10：31：22 | 伺服器 3 | 55 | OK | 
| 7/7/2020 上午 9：30：57 | 伺服器 3 | 62 | Rebooting (重新開機中) | 
| 7/7/2020 上午 9：30：05 | 伺服器 2 | 88 | OK | 
| 7/7/2020 上午 9：28：06 | 伺服器 1 | 80 | OK | 
| 7/7/2020 上午 9：25：05 | 伺服器 2 | 88 | OK | 
| 7/7/2020 上午 9：23：07 | 伺服器 1 | 86 | OK | 

此轉換有兩個步驟。首先，指定要分組資料的一個或多個欄位。這會將這些欄位的所有相同值分組在一起，就像您將它們排序一樣。例如，如果您依`Server ID`欄位分組，Grafana 會以下列方式將資料分組：


| 伺服器 ID | 資料 | 
| --- | --- | 
| 時間 | CPU 溫度 | 伺服器狀態 | 
| --- | --- | --- | 
| 時間 | CPU 溫度 | 伺服器狀態 | 
| --- | --- | --- | 
| 時間 | CPU 溫度 | 伺服器狀態 | 
| --- | --- | --- | 
| 伺服器 1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/v10-panels-xform-functions.html) | 
| 伺服器 2 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/v10-panels-xform-functions.html) | 
| 伺服器 3 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/v10-panels-xform-functions.html) | 
| 7/7/2020 上午 11：34：20 | 80 | Shutdown | 
| 7/7/2020 上午 9：28：06 | 80 | OK | 
| 7/7/2020 上午 9：23：07 | 86 | OK | 
| 7/7/2020 上午 10：32：20 | 90 | 過載 | 
| 7/7/2020 上午 9：30：05 | 88 | OK | 
| 7/7/2020 上午 9：25：05 | 88 | OK | 
| 7/7/2020 上午 11：34：20 | 62 | OK | 
| 7/7/2020 上午 10：31：22 | 55 | OK | 
| 7/7/2020 上午 9：30：57 | 62 | Rebooting (重新開機中) | 

選擇您要將資料分組的欄位之後，您可以在其他欄位上新增各種計算，並將計算套用至每個資料列群組。例如，您可能想要計算每個伺服器的平均 CPU 溫度。若要這樣做，請新增套用至 CPU 溫度欄位的平均計算，以取得下列結果：


| 伺服器 ID | CPU Temperatute （平均值） |  | 
| --- | --- | --- | 
| 時間 | 伺服器狀態 | 
| --- | --- | 
| 時間 | 伺服器狀態 | 
| --- | --- | 
| 時間 | 伺服器狀態 | 
| --- | --- | 
| 伺服器 1 | 82 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/v10-panels-xform-functions.html) | 
| 伺服器 2 | 88.6 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/v10-panels-xform-functions.html) | 
| 伺服器 3 | 59.6 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/grafana/latest/userguide/v10-panels-xform-functions.html) | 
| 7/7/2020 上午 11：34：20 | Shutdown | 
| 7/7/2020 上午 9：28：06 | OK | 
| 7/7/2020 上午 9：23：07 | OK | 
| 7/7/2020 上午 10：32：20 | 過載 | 
| 7/7/2020 上午 9：30：05 | OK | 
| 7/7/2020 上午 9：25：05 | OK | 
| 7/7/2020 上午 11：34：20 | OK | 
| 7/7/2020 上午 10：31：22 | OK | 
| 7/7/2020 上午 9：30：57 | Rebooting (重新開機中) | 

## 建立熱度圖
<a name="v10-panels-xform-funcs-heatmap"></a>

使用此轉換來準備長條圖資料，以視覺化隨時間變化的趨勢。與熱度圖視覺化類似，此轉換會將長條圖指標轉換為時間儲存貯體。

**X 儲存貯體**

此設定決定 x 軸如何分割為儲存貯體。
+ **大小** – 在輸入欄位中指定時間間隔。例如， 的時間範圍會在 x 軸上`1h`建立一小時寬的儲存格。
+ **計數** – 對於non-time-related序列，請使用此選項來定義儲存貯體中的元素數目。

**Y 儲存貯體**

此設定決定 y 軸如何分割為儲存貯體。
+ **Linear (線性)**
+ **對數 –** 選擇日誌基底 2 或日誌基底 10。
+ **Symlog** – 使用對稱對數縮放。選擇日誌基底 2 或日誌基底 10，允許負值。

假設您有下列資料集：


| 時間戳記 | Value | 
| --- | --- | 
| 2023-01-01 12：00：00 | 5 | 
| 2023-01-01 12：15：00 | 10 | 
| 2023-01-01 12：30：00 | 15 | 
| 2023-01-01 12：45：00 | 8 | 
+ 將 X 儲存貯體設為 `Size: 15m`，並將 Y 儲存貯體設為 時`Linear`，長條圖會在 x 軸上將值整理為 15 分鐘的時間間隔，並在 y 軸上線性排列。
+ 對於 X 儲存貯體為 `Count: 2`，Y 儲存貯體為 `Logarithmic (base 10)`，長條圖會將值分組為 x 軸上的兩個儲存貯體，並在 y 軸上使用對數縮放。

## 直方圖
<a name="v10-panels-xform-funcs-histogram"></a>

使用此轉換可根據輸入資料產生長條圖，讓您可以視覺化值的分佈。
+ **儲存貯體大小** – 儲存貯體中最低和最高項目 (xMin 到 xMax) 之間的範圍。
+ **儲存貯體位**移 – non-zero-based儲存貯體的位移。
+ **合併序列** – 使用所有可用的序列建立統一長條圖。

**原始資料**

系列 1：


| A | B | C | 
| --- | --- | --- | 
| 1 | 3 | 5 | 
| 2 | 4 | 6 | 
| 3 | 5 | 7 | 
| 4 | 6 | 8 | 
| 5 | 7 | 9 | 

系列 2：


| C | 
| --- | 
| 5 | 
| 6 | 
| 7 | 
| 8 | 
| 9 | 

**輸出**


| xMin | xMax | A | B | C | C | 
| --- | --- | --- | --- | --- | --- | 
| 1 | 2 | 1 | 0 | 0 | 0 | 
| 2 | 3 | 1 | 0 | 0 | 0 | 
| 3 | 4 | 1 | 1 | 0 | 0 | 
| 4 | 5 | 1 | 1 | 0 | 0 | 
| 5 | 6 | 1 | 1 | 1 | 1 | 
| 6 | 7 | 0 | 1 | 1 | 1 | 
| 7 | 8 | 0 | 1 | 1 | 1 | 
| 8 | 9 | 0 | 0 | 1 | 1 | 
| 9 | 10 | 0 | 0 | 1 | 1 | 

使用產生的長條圖視覺化值的分佈，提供對資料分散和密度的洞察。

## 依欄位聯結
<a name="v10-panels-xform-funcs-joinfield"></a>

使用此轉換將多個結果合併為單一資料表，以便整合來自不同查詢的資料。

特別適用於將多個時間序列結果轉換為具有共用時間欄位的單一寬資料表。

**內部聯結**

內部聯結會合併來自多個資料表的資料，其中所有資料表都會從選取的欄位中共用相同的值。這種類型的聯結會排除值不符合每個結果的資料。

使用此轉換將多個查詢的結果 （在傳遞的聯結欄位或第一個資料欄上合併） 合併為一個結果，並捨棄無法成功聯結的資料列。

在下列範例中，兩個查詢會傳回資料表資料。在套用內部聯結轉換之前，它會視覺化為兩個不同的資料表。

查詢 A：


| 時間 | 任務 | 執行時間 | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 節點 | 25260122 | 
| 7/7/2020 上午 11：24：20 | postgre | 123001233 | 
| 7/7/2020 上午 11：14：20 | postgre | 345001233 | 

查詢 B：


| 時間 | Server | 錯誤 | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 伺服器 1 | 15 | 
| 7/7/2020 上午 11：24：20 | 伺服器 2 | 5 | 
| 7/7/2020 上午 11：04：20 | 伺服器 3 | 10 | 

套用內部聯結轉換後的結果如下所示：


| 時間 | 任務 | 執行時間 | Server | 錯誤 | 
| --- | --- | --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 節點 | 25260122 | 伺服器 1 | 15 | 
| 7/7/2020 上午 11：24：20 | postgre | 123001233 | 伺服器 2 | 5 | 

*外部聯結*

外部聯結包含來自內部聯結的所有資料，以及值在每個輸入中不相符的資料列。當內部聯結在時間欄位上聯結查詢 A 和查詢 B 時，外部聯結會包含時間欄位上不相符的所有列。

在下列範例中，兩個查詢會傳回資料表資料。在套用外部聯結轉換之前，它會視覺化為兩個資料表。

查詢 A：


| 時間 | 任務 | 執行時間 | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 節點 | 25260122 | 
| 7/7/2020 上午 11：24：20 | postgre | 123001233 | 
| 7/7/2020 上午 11：14：20 | postgre | 345001233 | 

查詢 B：


| 時間 | Server | 錯誤 | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 伺服器 1 | 15 | 
| 7/7/2020 上午 11：24：20 | 伺服器 2 | 5 | 
| 7/7/2020 上午 11：04：20 | 伺服器 3 | 10 | 

套用外部聯結轉換後的結果如下所示：


| 時間 | 任務 | 執行時間 | Server | 錯誤 | 
| --- | --- | --- | --- | --- | 
| 7/7/2020 上午 11：04：20 |  |  | 伺服器 3 | 10 | 
| 7/7/2020 上午 11：14：20 | postgre | 345001233 |  |  | 
| 7/7/2020 上午 11：34：20 | 節點 | 25260122 | 伺服器 1 | 15 | 
| 7/7/2020 上午 11：24：20 | postgre | 123001233 | 伺服器 2 | 5 | 

## 依標籤聯結
<a name="v10-panels-xform-funcs-joinlabel"></a>

使用此轉換可將多個結果加入單一資料表。

這對於將多個時間序列結果轉換為具有共用**標籤**欄位的單一寬資料表特別有用。
+ **聯結** – 選取要在所有時間序列中可用或通用的標籤之間聯結的標籤。
+ **值** – 輸出結果的名稱。

**範例**

輸入 1： `series1{what='Temp', cluster='A', job='J1'}`


| 時間 | Value | 
| --- | --- | 
| 1 | 10 | 
| 2 | 200 | 

輸入 2： `series2{what='Temp', cluster='B', job='J1'}`


| 時間 | Value | 
| --- | --- | 
| 1 | 10 | 
| 2 | 200 | 

輸入 3： `series3{what='Speed', cluster='B', job='J1'}`


| 時間 | Value | 
| --- | --- | 
| 22 | 22 | 
| 28 | 77 | 

組態：

```
value: 'what'
```

輸出：


| 叢集 | job | 暫存 | 速度 | 
| --- | --- | --- | --- | 
| A | J1 | 10 |  | 
| A | J1 | 200 |  | 
| B | J1 | 10 | 22 | 
| B | J1 | 200 | 77 | 

將此轉換有效地結合和組織時間序列資料，以獲得全面的洞見。

## 欄位的標籤
<a name="v10-panels-xform-funcs-labelstofields"></a>

使用此轉換將具有標籤或標籤的時間序列結果轉換為資料表，包括結果中每個標籤的索引鍵和值。將標籤顯示為增強型資料視覺化的資料欄或資料列值。

假設查詢結果有兩個時間序列：
+ 系列 1 – 標籤 `Server=Server A`、 `Datacenter=EU`
+ 系列 2 – 標籤 `Server=Server B`、 `Datacenter=EU`

在**資料欄**模式中，結果如下所示：


| 時間 | Server | Datacenter | Value | 
| --- | --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 伺服器 A | 歐盟 | 1 | 
| 7/7/2020 上午 11：34：20 | 伺服器 B | 歐盟 | 2 | 

在「資料列」模式中，結果具有每個序列的資料表，並顯示如下所示的每個標籤值：


| label | value | 
| --- | --- | 
| Server | 伺服器 A | 
| Datacenter | 歐盟 | 


| label | value | 
| --- | --- | 
| Server | 伺服器 B | 
| Datacenter | 歐盟 | 

**值欄位名稱**

如果您選取伺服器做為**值欄位名稱**，則伺服器標籤的每個值都會有一個欄位。


| 時間 | Datacenter | 伺服器 A | 伺服器 B | 
| --- | --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 歐盟 | 1 | 2 | 

**合併行為**

欄位轉換器的標籤在內部是兩個單獨的轉換。第一個作用於單一序列，並將標籤擷取至欄位。第二個是合併轉換，將所有結果加入單一資料表。合併轉換會嘗試在所有相符欄位上加入。此合併步驟為必要，無法關閉。

為了說明這一點，以下範例有兩個查詢會傳回沒有重疊標籤的時間序列。
+ 系列 1 – 標籤 `Server=ServerA`
+ 系列 2 – 標籤 `Datacenter=EU`

這首先會產生這兩個資料表：


| 時間 | Server | Value | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | ServerA | 10 | 


| 時間 | Datacenter | Value | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 歐盟 | 20 | 

合併後：


| 時間 | Server | Value | Datacenter | 
| --- | --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | ServerA | 10 |  | 
| 7/7/2020 上午 11：34：20 |  | 20 | 歐盟 | 

## 限制
<a name="v10-panels-xform-funcs-limit"></a>

使用此轉換來限制顯示的列數，提供更集中的資料檢視。這在處理大型資料集時特別有用。

以下是說明**限制**轉換對來自資料來源之回應的影響的範例：


| 時間 | 指標 | Value | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 溫度 | 25 | 
| 7/7/2020 上午 11：34：20 | 濕度 | 22 | 
| 7/7/2020 上午 10：32：20 | 濕度 | 29 | 
| 7/7/2020 上午 10：31：22 | 溫度 | 22 | 
| 7/7/2020 上午 9：30：57 | 濕度 | 33 | 
| 7/7/2020 上午 9：30：05 | 溫度 | 19 | 

以下是新增值為「3」的限制轉換之後的結果：


| 時間 | 指標 | Value | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 溫度 | 25 | 
| 7/7/2020 上午 11：34：20 | 濕度 | 22 | 
| 7/7/2020 上午 10：32：20 | 濕度 | 29 | 

此轉換可協助您量身打造資料的視覺化呈現，以專注於最相關的資料。

## 合併序列/資料表
<a name="v10-panels-xform-funcs-merge"></a>

使用此轉換將多個查詢的結果合併為單一結果，這在使用資料表面板視覺化時特別有用。如果共用欄位包含相同的資料，轉換會將值合併到相同的資料列。

以下是範例說明**合併序列/資料表**轉換對兩個傳回資料表資料之查詢的影響：

*查詢 A：*


| 時間 | 任務 | 執行時間 | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 節點 | 25260122 | 
| 7/7/2020 上午 11：24：20 | postgre | 123001233 | 

查詢 B：


| 時間 | 任務 | 錯誤 | 
| --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 節點 | 15 | 
| 7/7/2020 上午 11：24：20 | postgre | 5 | 

以下是套用合併轉換後的結果：


| 時間 | 任務 | 錯誤 | 執行時間 | 
| --- | --- | --- | --- | 
| 7/7/2020 上午 11：34：20 | 節點 | 15 | 25260122 | 
| 7/7/2020 上午 11：24：20 | postgre | 5 | 123001233 | 

此轉換將查詢 A 和查詢 B 的值合併為統一的資料表，增強呈現以獲得更好的洞見。

## 依名稱組織欄位
<a name="v10-panels-xform-funcs-organize"></a>

使用此轉換來重新命名、重新排序或隱藏面板中單一查詢傳回的欄位。此轉換僅適用於具有單一查詢的面板。如果您的面板有多個查詢，則必須套用*外部聯結*轉換或移除額外的查詢。

**轉換欄位**

Grafana 會顯示查詢傳回的欄位清單。您可以：
+ **變更欄位順序** – 將欄位拖曳到清單中的新位置。
+ **隱藏或顯示欄位** – 使用欄位名稱旁的眼睛圖示來切換欄位的可見性。
+ **重新命名欄位** – 在**重新命名**方塊中輸入新名稱。

**範例**

鑑於此初始查詢結果：


| 時間 | 指標 | Value | 
| --- | --- | --- | 
| 2020-07-07 11：34：20 | 溫度 | 25 | 
| 2020-07-07 11：34：20 | 濕度 | 22 | 
| 2020-07-07 10：32：20 | 濕度 | 29 | 

您可以套用重新命名欄位覆寫來建立：


| 時間 | 感測器 | 讀取 | 
| --- | --- | --- | 
| 2020-07-07 11：34：20 | 溫度 | 25 | 
| 2020-07-07 11：34：20 | 濕度 | 22 | 
| 2020-07-07 10：32：20 | 濕度 | 29 | 

此轉換可讓您量身打造查詢結果的顯示，確保在 Grafana 中清楚且深入地呈現您的資料。

## 依值分割
<a name="v10-panels-xform-funcs-partition"></a>

使用此轉換可簡化繪製多個序列的程序，而不需要多個具有不同`WHERE`子句的查詢。

**注意**  
此函數適用於與 Grafana 第 9 版及更高版本相容的工作區。

這在使用指標 SQL 資料表時特別有用，如本範例所示：


| 時間 | 區域 | Value | 
| --- | --- | --- | 
| 10/20/2022 下午 12：00：00 | 美國 | 1520 | 
| 10/20/2022 下午 12：00：00 | 歐盟 | 2936 | 
| 10/20/2022 上午 1：00：00 | 美國 | 1327 | 
| 10/20/2022 上午 1：00：00 | 歐盟 | 912 | 

使用*依值分割*轉換器，您可以發出單一查詢，並在您選擇的一或多個資料欄 （欄位） 中依唯一值分割結果。以下範例使用 `Region`。

```
SELECT Time, Region, Value FROM metrics WHERE Time > '2022-10-20'
```


| 時間 | 區域 | Value | 
| --- | --- | --- | 
| 10/20/2022 下午 12：00：00 | 美國 | 1520 | 
| 10/20/2022 上午 1：00：00 | 美國 | 1327 | 


| 時間 | 區域 | Value | 
| --- | --- | --- | 
| 10/20/2022 下午 12：00：00 | 歐盟 | 2936 | 
| 10/20/2022 上午 1：00：00 | 歐盟 | 912 | 

此轉換可簡化程序，並增強在相同時間序列視覺化中視覺化多個序列的彈性。

## 準備時間序列
<a name="v10-panels-xform-funcs-preparetimeseries"></a>

當資料來源以與所需視覺化不相容的格式傳回時間序列資料時，請使用此轉換來解決問題。此轉換可讓您在寬格式和長格式之間轉換時間序列資料。

**多影格時間序列**

使用此選項可將時間序列資料框架從寬格式轉換為長格式。當您的資料來源以需要重塑的格式提供時間序列資訊，以便與視覺化的最佳相容性時，這特別有用。

*範例*

此輸入：


| 時間戳記 | Value1 | Value2 | 
| --- | --- | --- | 
| 2023-01-01 00：00：00 | 10 | 20 | 
| 2023-01-01 01：00：00 | 15 | 25 | 

可以轉換為：


| 時間戳記 | 變數 | Value | 
| --- | --- | --- | 
| 2023-01-01 00：00：00 | Value1 | 10 | 
| 2023-01-01 00：00：00 | Value2 | 20 | 
| 2023-01-01 01：00：00 | Value1 | 15 | 
| 2023-01-01 01：00：00 | Value2 | 25 | 

**廣泛時間序列**

使用此選項可將時間序列資料框架從長格式轉換為寬格式。當您的資料來源以長格式提供時間序列資料，且視覺化需要寬格式時，這特別有用。

*範例*

此輸入：


| 時間戳記 | 變數 | Value | 
| --- | --- | --- | 
| 2023-01-01 00：00：00 | Value1 | 10 | 
| 2023-01-01 00：00：00 | Value2 | 20 | 
| 2023-01-01 01：00：00 | Value1 | 15 | 
| 2023-01-01 01：00：00 | Value2 | 25 | 

可以轉換為：


| 時間戳記 | Value1 | Value2 | 
| --- | --- | --- | 
| 2023-01-01 00：00：00 | 10 | 20 | 
| 2023-01-01 01：00：00 | 15 | 25 | 

## 減少
<a name="v10-panels-xform-funcs-reduce"></a>

使用此轉換會將計算套用至資料框架中的每個欄位，並傳回單一值。此轉換對於將波紋時間序列資料合併為更精簡、摘要格式特別有用。套用此轉換時會移除時間欄位。

考慮輸入：

查詢 A：


| 時間 | 暫存 | 執行時間 | 
| --- | --- | --- | 
| 2020-07-07 11：34：20 | 12.3 | 256122 | 
| 2020-07-07 11：24：20 | 15.4 | 1230233 | 

查詢 B：


| 時間 | AQI | 錯誤 | 
| --- | --- | --- | 
| 2020-07-07 11：34：20 | 6.5 | 15 | 
| 2020-07-07 11：24：20 | 3.2 | 5 | 

還原轉換器有兩種模式：
+ **序列到資料列** – 為每個欄位建立資料列，並為每個計算建立一個資料欄。
+ **減少欄位** – 保留現有的影格結構，但會將每個欄位摺疊成單一值。

例如，如果您使用**第一個**和**最後一個**計算搭配**序列進行資料列**轉換，則結果可能是：


| 欄位 | First | Last | 
| --- | --- | --- | 
| 暫存 | 12.3 | 15.4 | 
| 執行時間 | 256122 | 1230233 | 
| AQI | 6.5 | 3.2 | 
| 錯誤 | 15 | 5 | 

使用**上次**計算**減少欄位**會產生兩個影格，每個影格各一個資料列：

查詢 A：


| 暫存 | 執行時間 | 
| --- | --- | 
| 15.4 | 1230233 | 

查詢 B：


| AQI | 錯誤 | 
| --- | --- | 
| 3.2 | 5 | 

## 依 regex 重新命名
<a name="v10-panels-xform-funcs-rename"></a>

使用此轉換來使用規則表達式和取代模式重新命名查詢結果的部分。

您可以指定僅套用至相符項目的規則表達式，以及支援回溯參考的替代模式。例如，假設您正在視覺化每個主機的 CPU 用量，並想要移除網域名稱。您可以將 regex 設定為 ，`([^\.]+)\..+`而取代模式設定為 `$1`， `web-01.example.com` 會變成 `web-01`。

此轉換可讓您量身打造資料以符合視覺化需求，讓您的儀表板更具資訊性且易於使用。

## 欄位的資料列
<a name="v10-panels-xform-funcs-row"></a>

使用此轉換將資料列轉換為不同的欄位。這很有用，因為欄位可以個別建立樣式和設定。它也可以使用其他欄位做為動態欄位組態的來源，或將其對應至欄位標籤。然後，可以使用其他標籤，為產生的欄位定義更好的顯示名稱。

此轉換包含欄位資料表，其中列出組態查詢傳回的資料中的所有欄位。此表格可讓您控制應該映射到每個組態屬性的欄位 (**使用 做為**選項）。如果傳回的資料中有多個資料列，您也可以選擇要選取的值。

此轉換需要：
+ 一個欄位，用來做為欄位名稱的來源。

  根據預設，轉換會使用第一個字串欄位做為來源。您可以在要改用**的欄位的「使用為」欄中選取欄位名稱**，以覆寫此預設設定。 ****
+ 用作值來源的一個欄位。

  根據預設，轉換會使用第一個數字欄位做為來源。但是，您可以在要改用**的欄位的「使用為」欄中選取欄位值**，以覆寫此預設設定。 ****

在 中視覺化資料時很有用：
+ 量測計
+ Stat
+ 圓餅圖

**將額外的欄位映射至標籤**

如果欄位未映射到組態屬性，Grafana 會自動將其用作輸出欄位上標籤的來源。

範例：


| 名稱 | DataCenter | Value | 
| --- | --- | --- | 
| ServerA | 美國 | 100 | 
| ServerB | 歐盟 | 200 | 

輸出：


| ServerA （標籤：DataCenter：US) | ServerB （標籤：DataCenter：EU) | 
| --- | --- | 
| 100 | 200 | 

額外的標籤現在可用於欄位顯示名稱，以提供更完整的欄位名稱。

如果您想要從一個查詢擷取組態並將其套用至另一個查詢，則應使用*查詢結果轉換中的組態*。

**範例**

輸入:


| 名稱 | 值 | 最多 | 
| --- | --- | --- | 
| ServerA | 10 | 100 | 
| ServerB | 20 | 200 | 
| ServerC | 30 | 300 | 

輸出：


| ServerA （組態：max=100) | ServerB （組態：max=200) | ServerC （組態：max=300) | 
| --- | --- | --- | 
| 10 | 20 | 30 | 

您可以看到來源資料中的每一列都會變成單獨的欄位。每個欄位現在也具有最大組態選項集。**Min**、**Max**、**Unit** 和 **Thresholds** 等選項都是欄位組態的一部分，如果像這樣設定，則會由視覺化使用，而不是在面板編輯器選項窗格中手動設定的任何選項。

此轉換可讓資料列轉換為個別欄位、促進動態欄位組態，並將其他欄位映射至標籤。

## 序列到資料列
<a name="v10-panels-xform-funcs-series"></a>

使用此轉換將多個時間序列資料查詢的結果合併為單一結果。這在使用資料表面板視覺化時很有用。

此轉換的結果將包含三個資料欄：時間、指標和值。系統會新增指標欄，讓您可以輕鬆查看指標源自哪個查詢。透過在來源查詢上定義標籤來自訂此值。

在下面的範例中，有兩個查詢會傳回時間序列資料。在套用轉換之前，它會視覺化為兩個不同的資料表。

*查詢 A：*


| 時間 | 溫度 | 
| --- | --- | 
| 2020-07-07 11：34：20 | 25 | 
| 2020-07-07 10：31：22 | 22 | 
| 2020-07-07 09：30：05 | 19 | 

*查詢 B：*


| 時間 | 濕度 | 
| --- | --- | 
| 2020-07-07 11：34：20 | 24 | 
| 2020-07-07 10：32：20 | 29 | 
| 2020-07-07 09：30：57 | 33 | 

以下是將 系列套用至資料列轉換後的結果。


| 時間 | 指標 | Value | 
| --- | --- | --- | 
| 2020-07-07 11：34：20 | 溫度 | 25 | 
| 2020-07-07 11：34：20 | 濕度 | 22 | 
| 2020-07-07 10：32：20 | 濕度 | 29 | 
| 2020-07-07 10：31：22 | 溫度 | 22 | 
| 2020-07-07 09：30：57 | 濕度 | 33 | 
| 2020-07-07 09：30：05 | 溫度 | 19 | 

此轉換有助於整合多個時間序列查詢的結果，提供簡化且統一的資料集，以表格格式進行高效率的分析和視覺化。

## 排序方式
<a name="v10-panels-xform-funcs-sort"></a>

使用此轉換可根據指定的欄位來排序查詢結果中的每個影格，讓您的資料更容易理解和分析。透過設定所需欄位進行排序，您可以控制資料在資料表或視覺化中呈現的順序。

使用**反向**開關來反向排序指定欄位中的值。當您想要快速切換遞增和遞減順序以符合分析需求時，此功能特別有用。

例如，在從資料來源擷取時間序列資料的情況下，可以套用**依轉換排序**，根據時間戳記以遞增或遞減順序排列資料影格，視分析需求而定。此功能可確保您可以輕鬆導覽和解譯時間序列資料，並從有條不紊且視覺化的一致性簡報中獲得寶貴的洞見。

## Spatial
<a name="v10-panels-xform-funcs-spatial"></a>

使用此轉換將空間操作套用至查詢結果。
+ **動作** – 選取動作：
  + **準備空間欄位** – 根據其他欄位的結果設定幾何欄位。
    + **位置模式** – 選取位置模式 （這些選項由**計算值**和**轉換**模式共用）：
      + **自動** – 根據預設欄位名稱自動識別位置資料。
      + **Coords** – 指定經緯度欄位。
      + **Geohash** – 指定地理雜湊欄位。
      + **查詢** – 指定 Gazetteer 位置欄位。
  + **計算值** – 使用幾何來定義新欄位 (heading/distance/area)。
    + **函數** – 選擇要套用至幾何的數學操作：
      + **標題** – 計算兩個點之間的標題 （方向）。
      + **區域** – 計算幾何所定義多邊形所包圍的區域。
      + **距離** – 計算兩點之間的距離。
  + **轉換** – 將空間操作套用至幾何。
    + **操作** – 選擇要套用至幾何的操作：
      + **作為折線** – 在每一列建立具有頂點的單一折線功能。
      + **線條建置器** – 在兩個點之間建立線條。

此轉換可讓您操作和分析地理空間資料，啟用操作，例如在點之間建立線條、計算空間屬性等。

## 資料表轉換的時間序列
<a name="v10-panels-xform-funcs-seriestotable"></a>

使用此轉換將時間序列結果轉換為資料表，將時間序列資料影格轉換為**趨勢**欄位。然後，可以使用 [sparkline 儲存格類型](v10-panels-table.md#v10-panels-table-cell-type)轉譯**趨勢**欄位，為每個資料表列產生內嵌 sparkline。如果有多個時間序列查詢，則每個查詢都會產生單獨的資料表資料框架。這些可使用聯結或合併轉換來聯結，以產生單一資料表，每列具有多個火花。

對於每個產生的**趨勢**欄位值，可以選取計算函數。預設值為**最後一個非空值**。此值會顯示在 sparkline 旁，並用於排序資料表資料列。

## 迴歸分析
<a name="v10-panels-xform-funcs-regression"></a>

使用此轉換來建立新的資料框架，其中包含統計模型預測的值。這有助於尋找混沌資料的趨勢。它的運作方式是使用線性或多項式迴歸，將數學函數擬合至資料。然後，資料框架可用於視覺化以顯示趨勢線。

有兩種不同的模型：
+  **線性迴歸** – 根據資料調整線性函數。
+  **多項式迴歸** – 根據資料調整多項式函數。

**注意**  
此轉換目前為公開預覽。Grafana Labs 提供的支援有限，而且中斷變更可能會在功能全面推出之前發生。

# 對查詢進行故障診斷
<a name="v10-panels-query-troubleshoot"></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)。

此頁面提供解決常見儀表板問題的資訊。

**當我重新排列函數時，會取得不同的結果**

函數順序非常重要。如同數學，您放置函數的順序可能會影響結果。

**檢查您的查詢請求和回應**

最常見的問題與資料來源的查詢和回應有關。即使看起來像是 Grafana 中的錯誤或視覺化問題，幾乎總是資料來源查詢或資料來源回應的問題。首先檢查您的面板查詢和回應。

如需詳細資訊，請參閱[檢查請求和回應資料](v10-panels-panel-inspector.md)。

**我的查詢很慢**

您的查詢傳回多少資料點？ 傳回大量資料點的查詢將會很慢。請嘗試：
+ 在**查詢選項**中，限制傳回**的最大資料點**。
+ 在**查詢選項**中，增加**最小間隔**時間。
+ 在您的查詢中，使用 `group by`函數。

# 計算類型
<a name="v10-panels-calculation-types"></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)。

下表包含您可以在 Grafana 中執行的計算清單。您可以在**轉換**索引標籤和長條圖、量測計和狀態視覺化中找到這些計算。


| 計算 | Description | 
| --- | --- | 
| 所有 null | 當所有值皆為 null 時為 True | 
| 所有值 | 具有所有值的陣列 | 
| 所有唯一值 | 具有所有唯一值的陣列 | 
| 所有零 | 當所有值都是 0 時為 true | 
| 變更計數 | 欄位值變更的次數 | 
| 計數 | 欄位中的值數目 | 
| Delta | 值的累積變更，僅計算增量 | 
| 差異 | 欄位第一個值和最後一個值之間的差異 | 
| 差異百分比 | 欄位第一個和最後一個值之間的百分比變更 | 
| 不同計數 | 欄位中唯一值的數量 | 
| First | 欄位的第一個值 | 
| First\$1 （非 null) | 首先，不是欄位中的 null 值 （也排除 NaNs) | 
| Last | 欄位中的最後一個值 | 
| Last\$1 （非 null) | 最後一個，不是欄位中的 null 值 （也排除 NaNs) | 
| 最多 | 欄位的最大值 | 
| Mean | 欄位中所有值的平均值 | 
| 變異數 | 欄位中所有值的差異 | 
| StdDev | 欄位中所有值的標準差 | 
| 最少 | 欄位的最小值 | 
| 最小值 （零以上） | 欄位的最小值、正值 | 
| 範圍 | 欄位的最大值與最小值之間的差異 | 
| 步驟 | 欄位值之間的最小間隔 | 
| 總計 | 欄位中所有值的總和 | 