Fungsi SQL yang diizinkan

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.