Per motivi di privacy, limitiamo le funzioni SQL che puoi utilizzare in ADH.
Funzioni scalari
Sono consentite tutte le funzioni scalari ad eccezione di quanto segue:
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
Query di analisi
Per le query di analisi aggregate, limitiamo le funzioni che combinano i dati di più utenti. Tutte le funzioni di aggregazione e di analisi sono consentite durante l'elaborazione dei dati di un singolo utente. Per scoprire di più, consulta Aggregazioni a livello di utente di seguito.
Funzioni di aggregazione
Funzione | Consentito? |
---|---|
ANY_VALUE |
Sì |
APPROX_QUANTILES |
No |
APPROX_TOP_COUNT |
No |
APPROX_TOP_SUM |
No |
ARRAY_AGG |
No |
ARRAY_CONCAT_AGG |
No |
AVG |
Sì |
BIT_AND |
No |
BIT_OR |
No |
BIT_XOR |
No |
COUNT |
Sì |
COUNTIF |
Sì |
LOGICAL_AND |
Sì |
LOGICAL_OR |
Sì |
MAX |
Sì |
MIN |
Sì |
SUM |
Sì |
CORR |
Sì |
COVAR_POP |
Sì |
COVAR_SAMP |
Sì |
STDDEV_POP |
Sì |
STDDEV_SAMP |
Sì |
STDDEV |
Sì |
STRING_AGG |
No |
VAR_POP |
Sì |
VAR_SAMP |
Sì |
VARIANCE |
Sì |
APPROX_COUNT_DISTINCT |
Sì |
Funzioni di analisi
Tutte le funzioni di analisi presentano limitazioni.
Funzioni HyperLogLog++
Ads Data Hub supporta le funzioni HyperLogLog++ (HLL++). Tuttavia, queste utilizzano tipi di dati specializzati con più limitazioni.
Tipi supportati
Tipo | Descrizione |
---|---|
ADH.USER_HLL |
Una bozza aggregata a partire dai valori di tipo ADH.USER_ID . |
ADH.BYTE_HLL |
Una bozza aggregata a partire dai valori di qualsiasi tipo non ID. |
Questi tipi supportano l'unione e l'estrazione per le stime di cardinalità e non
supportano la conversione diretta a qualsiasi altro tipo. Non possono essere esportati direttamente
da Ads Data Hub, quindi devono utilizzare HLL_COUNT.EXTRACT
o HLL_COUNT.MERGE
prima di raggiungere l'output della query.
Le bozze HLL consentono di stimare la cardinalità su più livelli di
aggregazione, ma tieni presente che in Ads Data Hub non forniscono un miglioramento
sostanziale del rendimento rispetto a COUNT(DISTINCT)
in un livello singolo.
Funzioni supportate
Nome funzione | Tipi supportati | Tipo restituito |
---|---|---|
HLL_COUNT.EXTRACT
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
INT64
|
HLL_COUNT.INIT
|
Tutti i tipi
supportati standard,
ADH.USER_ID |
ADH.USER_HLL per
input ADH.USER_ID ,
altrimenti ADH.BYTE_HLL |
HLL_COUNT.INITNT.MERGE
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
INT64
|
HLL_COUNT.MERGE_PARTIAL
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
Uguale al tipo di input |
Limitazioni
Inserimento del rumore: le funzioni HLL++ non sono supportate quando viene eseguita una query che utilizza l'inserimento del rumore.
Aggregazioni a livello di utente
Consentiamo tutte le funzioni di aggregazione e di analisi nelle istruzioni SELECT
che raggruppano
o suddividono i dati in base a user_id
. Affinché questo comando funzioni, tutti i join precedenti devono indicare
chiaramente che i dati vengono mantenuti a livello di utente unendo user_id
, come in
questo esempio:
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)
Query elenco utenti
Nelle query degli elenchi di utenti, sono consentite le funzioni di aggregazione, mentre le funzioni di analisi non sono supportate.