允許的 SQL 函式

基於隱私權考量,我們會限制您在廣告資料中心可使用的 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

分析查詢

對於匯總分析查詢,我們會限制函式合併多位使用者的資料。處理單一使用者的資料時,所有匯總和分析函式皆可使用。詳情請參閱下方的使用者層級匯總

匯總函式

函式 是否允許?
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.EXTRACTHLL_COUNT.MERGE,才能取得查詢輸出結果。

請注意,HLL 數據架構支援多層匯總的基數預估作業,但在廣告資料中心,這類數據架構在單層匯總中的實際改善成效,不會比 COUNT(DISTINCT) 更好。

支援的函式

函式名稱 支援類型 傳回類型
HLL_COUNT.EXTRACT ADH.USER_HLLADH.BYTE_HLL INT64
HLL_COUNT.INIT 所有標準支援類型ADH.USER_ID ADH.USER_ID 輸入類型為 ADH.USER_HLL,其他為 ADH.BYTE_HLL
HLL_COUNT.INITNT.MERGE ADH.USER_HLLADH.BYTE_HLL INT64
HLL_COUNT.MERGE_PARTIAL ADH.USER_HLLADH.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_clicks
    USING(query_id, user_id)
GROUP BY user_id)

使用者名單查詢

在使用者名單查詢中可以使用匯總函式,但不支援分析函式。