Karena alasan privasi, kami membatasi fungsi SQL yang dapat Anda gunakan di ADH.
Fungsi skalar
Semua fungsi skalar kecuali yang berikut ini diizinkan:
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
Kueri analisis
Untuk kueri analisis gabungan, kami membatasi fungsi yang menggabungkan data dari beberapa pengguna. Semua fungsi agregat dan analisis diizinkan saat memproses data satu pengguna. Lihat Agregasi tingkat pengguna di bawah untuk mengetahui detailnya.
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 fungsi analitik dibatasi.
Fungsi HyperLogLog++
Ads Data Hub mendukung fungsi HyperLogLog++ (HLL++). Namun, keduanya 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 ke estimasi kardinalitas, dan tidak
mendukung konversi langsung ke jenis lainnya. Data tersebut tidak dapat diekspor langsung
dari Ads Data Hub, sehingga harus menggunakan HLL_COUNT.EXTRACT atau HLL_COUNT.MERGE
sebelum mencapai output kueri.
Sketsa HLL memungkinkan estimasi kardinalitas di beberapa lapisan
agregasi, tetapi perhatikan bahwa di Ads Data Hub, sketsa tersebut tidak memberikan peningkatan
performa yang signifikan dibandingkan 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 jenis standar
yang didukung,
ADH.USER_ID |
ADH.USER_HLL untuk
input 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 seperti 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 mempartisi menurut user_id. Agar ini berfungsi, join sebelumnya harus
menjelaskan bahwa data disimpan di tingkat pengguna dengan bergabung di user_id, seperti dalam
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_creative_conversions
USING(query_id, user_id)
GROUP BY user_id)
Kueri daftar pengguna
Dalam kueri daftar pengguna, fungsi agregat diizinkan, dan fungsi analisis tidak didukung.