在bigquery中过滤嵌套数据

时间:2019-07-02 11:09:25

标签: google-bigquery

我试图通过向where子句添加一些条件来过滤结果。但是当我运行查询时,仍然看到与我的where条件不匹配的结果

下面的代码仍显示地图,点击,列表等值。

其中不是REGEXP_CONTAINS(hits.eventInfo.eventCategory,r“ map | click | list | swipe”)

hits.eventInfo.eventAction as event_action,
hits.eventInfo.eventLabel as event_label,
hits.eventInfo.eventValue as event_value,
count(*) as count
FROM
tablename, UNNEST(hits) as hits
WHERE
PARSE_DATE('%y%m%d', _TABLE_SUFFIX)  BETWEEN 'date1' AND 'date2'
AND
hits.type = 'EVENT'
AND
NOT REGEXP_CONTAINS(hits.eventInfo.eventCategory, 
r"map|click|list|swipe")
GROUP BY

我希望结果没有正则表达式值,但我可以在结果集中看到它们

1 个答案:

答案 0 :(得分:0)

由于它是GA数据,因此您应该能够找到要过滤的所有事件的详尽列表。

为了能够对其进行维护并处理相当大的容量,您可以创建一个临时表或perma表(直到您的构建/运行状态)来存储禁止的事件值。

然后,您以事件值作为联接键离开联接(取决于您,left ==> GA数据,右边==>事件掩码),在where语句中将右键指定为null。

如果我误解了您的问题,请纠正我:)