我表格中的每一行都有一个数组字段,我想从第一个数组条目中获取一个字段。
例如,如果我的行是
var obj = {
selected: function () {
return this.value === someVariable;
}
}
var myObject = {
propery1: Object.create(obj,{
value: {
value : 1,
enumerable : true
}
}),
propery2: Object.create(obj,{
value: {
value : 2,
enumerable : true
}
})
};
我想
user_id:123,content_group:my_group,timestamp_1517584420597000
答案 0 :(得分:3)
正如Elliott所说 - BigQuery Standard SQL对ARRAYs的支持要比传统SQL好得多。一般来说,BigQuery团队建议使用标准SQL
因此,下面是BigQuery Standard SQL(包括处理通配符)
#standardSQL
SELECT
user_dim.user_id AS user_id,
(SELECT value.value.string_value
FROM UNNEST(user_dim.user_properties)
WHERE key = 'content_group' LIMIT 1
) content_group,
(SELECT event.timestamp_micros
FROM UNNEST(event_dim) event
WHERE name = 'main_menu_item_selected'
) ts
FROM `project.dataset.app_events_*`
WHERE _TABLE_SUFFIX BETWEEN '20180129' AND '20180202'
结果(对于您问题中的虚拟示例)
Row user_id content_group ts
1 123 my_group 1517584420597000