プライバシー上の理由から、Google では ADH で使用できる SQL 関数を制限しています。
スカラー関数
以下を除くすべてのスカラー関数を使用できます。
ERROR
ST_AREA
ST_ASBINARY
ST_ASGEOJSON
ST_ASTEXT
ST_BOUNDARY
ST_CENTROID
ST_CENTROID_AGG
ST_CLOSESTPOINT
ST_CLUSTERDBSCAN
ST_CONTAINS
ST_CONVEXHULL
ST_COVEREDBY
ST_COVERS
ST_DIFFERENCE
ST_DIMENSION
ST_DISJOINT
ST_DISTANCE
ST_DUMP
ST_DWITHIN
ST_EQUALS
ST_GEOGFROMGEOJSON
ST_GEOGFROMTEXT
ST_GEOGFROMWKB
ST_GEOGPOINT
ST_GEOGPOINTFROMGEOHASH
ST_GEOHASH
ST_INTERSECTION
ST_INTERSECTS
ST_INTERSECTSBOX
ST_ISCOLLECTION
ST_ISEMPTY
ST_LENGTH
ST_MAKELINE
ST_MAKEPOLYGON
ST_MAKEPOLYGONORIENTED
ST_MAXDISTANCE
ST_NPOINTS
ST_NUMPOINTS
ST_PERIMETER
ST_SIMPLIFY
ST_SNAPTOGRID
ST_TOUCHES
ST_UNION
ST_UNION_AGG
ST_WITHIN
ST_X
ST_Y
分析クエリ
集計分析のクエリでは、複数のユーザーからのデータを組み合わせる関数を制限します。1 人のユーザーのデータを処理する場合、集計関数と分析関数はすべて許可されます。詳しくは、後述のユーザー単位の集計をご覧ください。
集計関数
Function | 許可 / 不許可 |
---|---|
ANY_VALUE |
○ |
APPROX_QUANTILES |
× |
APPROX_TOP_COUNT |
× |
APPROX_TOP_SUM |
× |
ARRAY_AGG |
× |
ARRAY_CONCAT_AGG |
× |
AVG |
○ |
BIT_AND |
× |
BIT_OR |
× |
BIT_XOR |
× |
COUNT |
○ |
COUNTIF |
はい |
LOGICAL_AND |
はい |
LOGICAL_OR |
はい |
MAX |
はい |
MIN |
はい |
SUM |
はい |
CORR |
はい |
COVAR_POP |
はい |
COVAR_SAMP |
はい |
STDDEV_POP |
はい |
STDDEV_SAMP |
はい |
STDDEV |
○ |
STRING_AGG |
× |
VAR_POP |
○ |
VAR_SAMP |
はい |
VARIANCE |
はい |
APPROX_COUNT_DISTINCT |
○ |
分析関数
すべての分析関数は制限されています。
ユーザー単位の集計
user_id
でグループ化またはパーティショニングを行う SELECT
ステートメントでは、すべての集計関数と分析関数を使用できます。これが機能するためには、次の例のように、user_id
で結合することにより、前の結合でデータがユーザーレベルで保持されていることを確認する必要があります。
SELECT ARRAY_AGG(campaign_id ORDER BY query_id.time_usec) AS path
FROM
adh.google_ads_impressions
LEFT JOIN adh.google_ads_clicks USING(query_id, user_id)
GROUP BY user_id
ID が分離されていて結合できないために ID を使用できない場合、次の例のように独立したすべての ID でクエリをグループ化または分割する必要があります。
SELECT
a.user_id AS user_a,
b.user_id AS user_b,
ARRAY_AGG(DISTINCT campaign_id) campaigns
FROM
adh.google_ads_impressions a
JOIN adh.google_ads_impressions b USING (campaign_id)
GROUP BY 1, 2
ユーザーリストのクエリ
ユーザーリスト クエリでは、集計関数を使用できます。分析関数はサポートされていません。