許可される SQL 関数

プライバシー上の理由から、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

ユーザーリストのクエリ

ユーザーリスト クエリでは、集計関数を使用できます。分析関数はサポートされていません。