我正在使用 Bigquery,并且我有一个包含数组的数据集,我想在其中提取首次找到指定元素的索引。我在 Bigquery 中找不到实现我想要的功能。Dataprep 具有arrayindexof
执行此操作的功能,但在撰写本文时它在 Bigquery 中不可用。https://cloud.google.com/dataprep/docs/html/ARRAYINDEXOF-Function_136155116
如果arrayindexof
Bigquery 中存在,我们可以按照以下方式使用它。
select arrayindexof(metric, 'b') as index, value[offset(arrayindexof(metric, 'b'))] as b
from (select ['a', 'b', 'c'] as metric, [1, 2, 3] as value
union all select ['b', 'c'], [4, 5]
union all select ['c'], [6])
期望的结果:
Row|index| b
--------------
1| 1| 2
2| 0| 4
3| NULL|NULL
知道如何在 Bigquery 中实现所需的结果吗?
亲切的问候,