Я хочу отфильтровать NHT из моего BigQuery по некоторому критерию, который я нашел в моем наборе данных из Google Analytics. Для моего примера я хочу отфильтровать эти два набора критериев:
networkLocation REGEXP_Contains (r"^(ovh \(nwk\)|hostwinds llc.|bhost inc|prisma networks llc|psychz networks|buyvm services|private customer|secure dragon llc.|vmpanel|netaction telecom srl-d|hostigation|frontlayer technologies inc.|digital energy technologies limited|owned-networks|rica web services|netaction telecom srl-d|hurricane electric inc.|private customer - host.howpick.com|ssdvirt|sway broadband|detect network|gorillaservers inc.|micfo llc.| netaction telecom srl|egihosting|zenlayer inc|intercom online inc.|gs1 argentine|ovh hosting inc.|vps cheap inc.|limeip networks|blackhost ltd.|amazon.com inc.)$")
AND
device.browserVersion REGEXP_Contains(r"^(41.0|55.0)$")
OR
networkLocation REGEXP_Contains ("^(hpro group ltd)$")
AND
device.browserVersion REGEXP_Contains("45.0")
Мой SQL:
SELECT
channelGrouping,
date,
h.page.pagePath AS Page,
SUM(totals.timeOnSite) AS Session_Duration,
SUM(totals.visits) AS Visits,
AVG(totals.timeonSite/totals.visits) AS Avg_Time_per_Session,
SUM(totals.bounces) AS Bounce,
(SUM(totals.bounces)/SUM(totals.visits)) AS Bounce_rate,
geoNetwork.networkLocation,
device.browserVersion,
device.browser
FROM
`93868086.ga_sessions_*`,
UNNEST(hits) as h
WHERE
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 365 DAY))
AND FORMAT_DATE('%Y%m%d',DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
GROUP BY
date,
channelGrouping,
geoNetwork.networkLocation,
device.browserVersion,
device.browser,
h.page.pagePath
Мне нужно предложение HAVING NOT, однако я не уверен, как сгруппировать набор утверждений, которые мне нужны, чтобы отфильтровать мой критерий. Любая помощь будет отличной!