# FieldIndex- 指令碼與圖表函數

FieldIndex() 會傳回在欄位 field\_name 中欄位值 value 的位置 (依據載入順序)。

語法：

FieldIndex(field\_name , value)

傳回的資料類型： 整數

引數：

* field\_name：索引需要的欄位名稱。例如表格中的資料行。 必須指定為字串值。這表示欄位名稱必須以單引號括住。
* value：欄位 field\_name 的值。

限制：

* 當任何圖表運算式使用了此圖表函數時，就不允許在圖表中依據 Y 值排序，或在表格中依據運算式資料行排序。因此，這些排序替代選項會自動停用。若您在視覺化或表格中使用此圖表函數，視覺化的排序將還原為對此函數的排序輸入。此限制不適用於對等指令碼函數。

* 若無法在欄位 field\_name 的欄位值內找到 value，則會傳回 0。

範例：

新增以下範例資料到您的文件中並加以執行。以下範例使用來自表格 Names 的欄位：First name。

範例與結果

| 範例 | 結果 |
| --- | --- |
| 圖表函數 - 在包含維度 First name 的表格中，新增為量值：<br><br>`FieldIndex ('First name','John')` | 1，因為「John」是 First name 欄位載入順序中第一個出現者。請注意，列表框 John 會出現在頂端第二項，因為是以字母排序而非載入順序。 |
| 含 First name 的圖表函數：<br><br>`FieldIndex ('First name','Peter')` | 4，因為 FieldIndex() 只傳回一個值，即為載入順序中第一個出現者。 |
| 指令碼函數 - 假定表格 Names 已載入，如同範例資料：<br><br>`John1:` `Load FieldIndex('First name','John') as MyJohnPos` `Resident Names;` | `MyJohnPos=`1，因為「John」是 First name 欄位載入順序中第一個出現者。請注意，列表框 John 會出現在頂端第二項，因為是以字母排序而非載入順序。 |
| 含 Names 的指令碼函數：<br><br>`Peter1:` `Load FieldIndex('First name','Peter') as MyPeterPos` `Resident Names;` | `MyPeterPos=`4，因為 FieldIndex() 只傳回一個值，即為載入順序中第一個出現者。 |

範例中使用的資料：

`Names:` `LOAD * inline [` `"First name"|"Last name"|Initials|"Has cellphone"` `John|Anderson|JA|Yes` `Sue|Brown|SB|Yes` `Mark|Carr|MC |No` `Peter|Devonshire|PD|No` `Jane|Elliot|JE|Yes` `Peter|Franc|PF|Yes ] (delimiter is '|');` ` ` `John1:` `Load FieldIndex('First name','John') as MyJohnPos` `Resident Names;` ` ` `Peter1:` `Load FieldIndex('First name','Peter') as MyPeterPos` `Resident Names;`