当元素是 BigQuery Standard Sql 中的对象时,如何计算数组中元素的数量
how do i count the number of elements in array when elements are objects in BigQuery StandardSql
我有以下json
{
"CustomerId": "B0001",
"Items": [
{
"ItemId": "00001",
"ItemName": "Banana"
},
{
"ItemId": "00001",
"ItemName": "Orange"
},
{
"ItemId": "00001",
"ItemName": "apple"
}
]
}
我想计算在这种情况下列应该 return 3 的项目数
我试过了
select ARRAY_LENGTH(Items) as Number_of_items2
但这显然会在 bigquery 上引发错误
假设它实际上存储为JSON字符串,你可以试试:
select ARRAY_LENGTH(SPLIT(Items, '},')) as Number_of_items2
FROM dataset.table
这依赖于JSON的具体格式,但是如果你需要更高级的处理逻辑,你可以使用JavaScript UDF.
我有以下json
{
"CustomerId": "B0001",
"Items": [
{
"ItemId": "00001",
"ItemName": "Banana"
},
{
"ItemId": "00001",
"ItemName": "Orange"
},
{
"ItemId": "00001",
"ItemName": "apple"
}
]
}
我想计算在这种情况下列应该 return 3 的项目数 我试过了
select ARRAY_LENGTH(Items) as Number_of_items2
但这显然会在 bigquery 上引发错误
假设它实际上存储为JSON字符串,你可以试试:
select ARRAY_LENGTH(SPLIT(Items, '},')) as Number_of_items2
FROM dataset.table
这依赖于JSON的具体格式,但是如果你需要更高级的处理逻辑,你可以使用JavaScript UDF.