Untuk alasan privasi, kami membatasi fungsi SQL mana yang dapat Anda gunakan di ADH.
Fungsi skalar
Semua fungsi skalar kecuali hal berikut diizinkan:
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
Kueri analisis
Untuk kueri analisis agregat, kami membatasi fungsi yang menggabungkan data dari beberapa pengguna. Semua fungsi agregat dan analisis diizinkan saat memproses data dari satu pengguna. Lihat Agregasi tingkat pengguna di bawah untuk spesifikasi pendukung.
Fungsi agregat
Fungsi | Diizinkan? |
---|---|
ANY_VALUE |
Ya |
APPROX_QUANTILES |
Tidak |
APPROX_TOP_COUNT |
Tidak |
APPROX_TOP_SUM |
Tidak |
ARRAY_AGG |
Tidak |
ARRAY_CONCAT_AGG |
Tidak |
AVG |
Ya |
BIT_AND |
Tidak |
BIT_OR |
Tidak |
BIT_XOR |
Tidak |
COUNT |
Ya |
COUNTIF |
Ya |
LOGICAL_AND |
Ya |
LOGICAL_OR |
Ya |
MAX |
Ya |
MIN |
Ya |
SUM |
Ya |
CORR |
Ya |
COVAR_POP |
Ya |
COVAR_SAMP |
Ya |
STDDEV_POP |
Ya |
STDDEV_SAMP |
Ya |
STDDEV |
Ya |
STRING_AGG |
Tidak |
VAR_POP |
Ya |
VAR_SAMP |
Ya |
VARIANCE |
Ya |
APPROX_COUNT_DISTINCT |
Ya |
Fungsi analisis
Semua analisis fungsi-fungsi dibatasi.
Fungsi HyperLogLog++
Ads Data Hub mendukung HyperLogLog++ (HLL++) fungsi. Namun, mereka menggunakan jenis data khusus dengan lebih banyak batasan.
Jenis yang didukung
Jenis | Deskripsi |
---|---|
ADH.USER_HLL |
Sketsa yang digabungkan dari nilai jenis ADH.USER_ID |
ADH.BYTE_HLL |
Sketsa yang digabungkan dari nilai jenis non-ID apa pun |
Jenis ini mendukung penggabungan dan ekstraksi untuk estimasi kardinalitas, tetapi tidak
mendukung konversi langsung ke jenis lainnya. Data tersebut tidak dapat diekspor langsung
dari Ads Data Hub, sehingga mereka harus menggunakan HLL_COUNT.EXTRACT
atau HLL_COUNT.MERGE
sebelum mencapai {i>output<i} kueri.
Sketsa HLL memungkinkan estimasi kardinalitas di berbagai lapisan
Namun, perhatikan bahwa di Ads Data Hub, aturan ini tidak memberikan atribut
peningkatan performa melalui COUNT(DISTINCT)
dalam satu lapisan.
Fungsi yang didukung
Function name | Jenis yang didukung | Jenis hasil yang ditampilkan |
---|---|---|
HLL_COUNT.EXTRACT
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
INT64
|
HLL_COUNT.INIT
|
Semua standar
jenis yang didukung,
ADH.USER_ID |
ADH.USER_HLL untuk
Masukkan ADH.USER_ID ,
jika tidak ADH.BYTE_HLL |
HLL_COUNT.INITNT.MERGE
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
INT64
|
HLL_COUNT.MERGE_PARTIAL
|
ADH.USER_HLL ,
ADH.BYTE_HLL |
Sama dengan jenis input |
Batasan
Injeksi derau: Fungsi HLL++ tidak didukung saat menjalankan kueri menggunakan injeksi derau.
Agregasi tingkat pengguna
Kami mengizinkan semua fungsi agregat dan analisis dalam pernyataan SELECT
yang mengelompokkan
atau partisi oleh user_id
. Agar berfungsi, {i>join<i} apa
pun sebelumnya harus membuatnya
jelas bahwa data disimpan di tingkat pengguna dengan bergabung pada user_id
, seperti di
contoh ini:
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)
Kueri daftar pengguna
Dalam kueri daftar pengguna, fungsi agregat diperbolehkan, dan fungsi analitik tidak dapat digunakan.