# 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 将作为从顶部开始的第 2 个值显示，因为是按字母顺序排序，而不是按加载顺序。 |
| 带 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 将作为从顶部开始的第 2 个值显示，因为是按字母顺序排序，而不是按加载顺序。 |
| 带 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;`