基於隱私權考量,我們會限制您在廣告資料中心可使用的 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
分析查詢
對於匯總分析查詢,我們會限制函式合併多位使用者的資料。處理單一使用者的資料時,所有匯總和分析函式皆可使用。詳情請參閱下方的使用者層級匯總。
匯總函式
| 函式 | 是否允許? | 
|---|---|
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++ 函式
廣告資料中心支援 HyperLogLog++ (HLL++) 函式,但這些函式使用的專屬資料類型有更多限制。
支援類型
| 類型 | 說明 | 
|---|---|
ADH.USER_HLL | 
由 ADH.USER_ID 類型的值匯總而成的數據架構 | 
ADH.BYTE_HLL | 
由任何非 ID 類型的值匯總而成的數據架構 | 
這些類型支援合併及擷取基數估計值,但不支援直接轉換為任何其他類型。廣告資料中心無法直接匯出這些資料,必須使用 HLL_COUNT.EXTRACT 或 HLL_COUNT.MERGE,才能取得查詢輸出結果。
請注意,HLL 數據架構支援多層匯總的基數預估作業,但在廣告資料中心,這類數據架構在單層匯總中的實際改善成效,不會比 COUNT(DISTINCT) 更好。
支援的函式
| 函式名稱 | 支援類型 | 傳回類型 | 
|---|---|---|
HLL_COUNT.EXTRACT
 | 
ADH.USER_HLL、ADH.BYTE_HLL | 
INT64
 | 
HLL_COUNT.INIT
 | 
所有標準支援類型、
ADH.USER_ID | 
ADH.USER_ID 輸入類型為 ADH.USER_HLL,其他為 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++ 函式。
使用者層級匯總
我們允許在 SELECT 陳述式中,使用依據 user_id 分組或分區的所有匯總和分析函式。為此,先前的彙整作業必須加入 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)
使用者名單查詢
在使用者名單查詢中可以使用匯總函式,但不支援分析函式。