プライバシー上の理由から、ADH で使用できる SQL 関数には制限があります。
スカラー関数
以下を除くすべてのスカラー関数を使用できます。
ERRORST_AREAST_ASBINARYST_ASGEOJSONST_ASTEXTST_BOUNDARYST_CENTROIDST_CENTROID_AGGST_CLOSESTPOINTST_CLUSTERDBSCANST_CONTAINSST_CONVEXHULLST_COVEREDBYST_COVERSST_DIFFERENCEST_DIMENSIONST_DISJOINTST_DISTANCEST_DUMPST_DWITHINST_EQUALSST_GEOGFROMGEOJSONST_GEOGFROMTEXTST_GEOGFROMWKBST_GEOGPOINTST_GEOGPOINTFROMGEOHASHST_GEOHASHST_INTERSECTIONST_INTERSECTSST_INTERSECTSBOXST_ISCOLLECTIONST_ISEMPTYST_LENGTHST_MAKELINEST_MAKEPOLYGONST_MAKEPOLYGONORIENTEDST_MAXDISTANCEST_NPOINTSST_NUMPOINTSST_PERIMETERST_SIMPLIFYST_SNAPTOGRIDST_TOUCHESST_UNIONST_UNION_AGGST_WITHINST_XST_Y
分析クエリ
集計分析クエリでは、複数のユーザーのデータを結合する関数が制限されます。1 人のユーザーのデータを処理する場合、集計関数と分析関数はすべて使用できます。詳しくは、後述のユーザー単位の集計をご覧ください。
集計関数
| 関数 | 使用可 / 使用不可 |
|---|---|
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 |
○ |
分析関数
分析関数はすべて制限されています。
HyperLogLog++ 関数
Ads Data Hub は、HyperLogLog++(HLL++)関数に対応しています。ただし、この関数ではより制限の多い特別なデータ型が使用されます。
サポートされている型
| 型 | 説明 |
|---|---|
ADH.USER_HLL |
ADH.USER_ID 型の値から集計したスケッチ |
ADH.BYTE_HLL |
ID 以外の型の値から集計したスケッチ |
上記の型は、カーディナリティ推定への統合と抽出をサポートしていますが、他の型への直接コンバージョンはサポートしていません。Ads Data Hub から直接エクスポートすることができないため、HLL_COUNT.EXTRACT または HLL_COUNT.MERGE を使用してからクエリの出力を行う必要があります。
HLL スケッチにより、複数の集計レイヤにまたがるカーディナリティ推定が可能になりますが、Ads Data Hub では、単一レイヤの COUNT(DISTINCT) よりも大幅にパフォーマンスが向上するわけではないことにご注意ください。
サポートされる関数
| 関数名 | サポートされている型 | 戻り値の型 |
|---|---|---|
HLL_COUNT.EXTRACT
|
ADH.USER_HLL、ADH.BYTE_HLL |
INT64
|
HLL_COUNT.INIT
|
サポートされているすべての標準型、ADH.USER_ID |
ADH.USER_HLL は ADH.USER_ID 入力用、それ以外は ADH.BYTE_HLL |
HLL_COUNT.INITNT.MERGE
|
ADH.USER_HLL、ADH.BYTE_HLL |
INT64
|
HLL_COUNT.MERGE_PARTIAL
|
ADH.USER_HLL、ADH.BYTE_HLL |
入力型と同じ |
制限事項
ノイズ インジェクション: ノイズ インジェクションを使用してクエリを実行する場合、HLL++ 関数はサポートされません。
ユーザー単位の集計
user_id を基準にグループ化またはパーティショニングを行う SELECT ステートメント内の集計関数と分析関数は、すべて使用できます。そのためには、次の例のように、user_id に基づいて結合することで、前の結合でユーザー単位のデータが保持されていることを明示する必要があります。
CREATE TABLE paths AS (
SELECT ARRAY_AGG(campaign_id ORDER BY query_id.time_usec) AS path
FROM
adh.google_ads_impressions
LEFT JOIN adh.google_ads_creative_conversions
USING(query_id, user_id)
GROUP BY user_id)
ユーザーリストのクエリ
ユーザーリストのクエリでは、集計関数を使用できますが、分析関数はサポートされていません。