BigQuery で GA データを操作しています (ga360 エクスポート)。多くのドメインで作業している GA リソースがあります。それぞれに、project1、project2 などのプロジェクト名の値を持つ独自のカスタム ディメンション (ヒットレベル スコープ、インデックス = 9) があります (複数のドメインを 1 つのプロジェクトに結合できます)。私が必要としているのは、project1 のみを訪問し、他のプロジェクトではヒットしなかったユーザーの訪問をカウントすることです。私のクエリ:
SELECT
date,
SUM(totals.visits) as visits,
project
FROM (
SELECT
date,
totals.visits,
MAX(IF(hits.customDimensions.index=9
AND REGEXP_MATCH(hits.customDimensions.value, 'project1'), hits.customDimensions.value, NULL)) WITHIN RECORD AS project
FROM (TABLE_DATE_RANGE([project:dataset.ga_sessions_], TIMESTAMP('2018-03-31'), TIMESTAMP('2018-03-31')))
)
GROUP BY
project
問題は、このクエリでは、他のプロジェクトでのヒットに関係なく、project1 で少なくとも 1 つのヒットがあるセッションの数が得られることです。WHERE 句と HAVING 句で除外してみましたが、結果は同じです。どうすれば正しくフィルタリングできますか?