Các hàm SQL được phép

Vì lý do bảo vệ quyền riêng tư, chúng tôi hạn chế các hàm SQL mà bạn có thể sử dụng trong ADH.

Hàm vô hướng

Tất cả các hàm vô hướng đều được phép, ngoại trừ các hàm sau:

  • 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

Truy vấn phân tích

Đối với các truy vấn phân tích tổng hợp, chúng tôi hạn chế các hàm kết hợp dữ liệu từ nhiều người dùng. Tất cả hàm tổng hợp và hàm phân tích đều được phép khi xử lý dữ liệu của một người dùng. Hãy xem phần Thông tin tổng hợp ở cấp người dùng bên dưới để biết thông tin chi tiết.

Hàm tổng hợp

Chức năng Được phép?
ANY_VALUE
APPROX_QUANTILES Không
APPROX_TOP_COUNT Không
APPROX_TOP_SUM Không
ARRAY_AGG Không
ARRAY_CONCAT_AGG Không
AVG
BIT_AND Không
BIT_OR Không
BIT_XOR Không
COUNT
COUNTIF
LOGICAL_AND
LOGICAL_OR
MAX
MIN
SUM
CORR
COVAR_POP
COVAR_SAMP
STDDEV_POP
STDDEV_SAMP
STDDEV
STRING_AGG Không
VAR_POP
VAR_SAMP
VARIANCE
APPROX_COUNT_DISTINCT

Hàm phân tích

Tất cả hàm phân tích đều bị hạn chế.

Hàm HyperLogLog++

Ads Data Hub hỗ trợ các hàm HyperLogLog++ (HLL++). Tuy nhiên, các hàm này sử dụng các loại dữ liệu chuyên biệt có nhiều hạn chế hơn.

Các loại được hỗ trợ

Loại Mô tả
ADH.USER_HLL Bản phác thảo được tổng hợp từ các giá trị thuộc loại ADH.USER_ID
ADH.BYTE_HLL Bản phác thảo được tổng hợp từ các giá trị thuộc bất kỳ loại nào không phải là mã nhận dạng

Các loại này hỗ trợ hợp nhất và trích xuất thành số lượng giá trị riêng biệt ước tính, đồng thời không hỗ trợ chuyển đổi trực tiếp sang bất kỳ loại nào khác. Bạn không thể xuất trực tiếp các giá trị này từ Ads Data Hub, vì vậy, bạn phải sử dụng HLL_COUNT.EXTRACT hoặc HLL_COUNT.MERGE trước khi đạt được kết quả truy vấn.

Bản phác thảo HLL cho phép ước tính số lượng giá trị riêng biệt trên nhiều lớp tổng hợp, nhưng xin lưu ý rằng trong Ads Data Hub, các bản phác thảo này không cải thiện đáng kể hiệu suất so với COUNT(DISTINCT) trong một lớp.

Hàm được hỗ trợ

Tên chức năng Các kiểu được hỗ trợ Loại dữ liệu trả về
HLL_COUNT.EXTRACT ADH.USER_HLL, ADH.BYTE_HLL INT64
HLL_COUNT.INIT Tất cả các loại được hỗ trợ tiêu chuẩn, ADH.USER_ID ADH.USER_HLL đối với đầu vào ADH.USER_ID, nếu không thì là ADH.BYTE_HLL
HLL_COUNT.INITNT.MERGE ADH.USER_HLL, ADH.BYTE_HLL INT64
HLL_COUNT.MERGE_PARTIAL ADH.USER_HLL, ADH.BYTE_HLL Giống như loại dữ liệu đầu vào

Giới hạn

Chèn nhiễu: Các hàm HLL++ không được hỗ trợ khi chạy truy vấn bằng cách sử dụng tính năng chèn nhiễu.

Dữ liệu tổng hợp ở cấp người dùng

Chúng tôi cho phép tất cả hàm tổng hợp và phân tích trong câu lệnh SELECT nhóm hoặc phân vùng theo user_id. Để tính năng này hoạt động, mọi mối liên kết trước đó phải cho biết rõ rằng dữ liệu được lưu giữ ở cấp người dùng bằng cách liên kết trên user_id, như trong ví dụ sau:

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)

Truy vấn danh sách người dùng

Trong truy vấn danh sách người dùng, bạn được phép sử dụng hàm tổng hợp và không được hỗ trợ hàm phân tích.