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

Vì lý do bảo mậ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

Chúng tôi cho phép sử dụng tất cả các hàm vô hướng, ngoại trừ những 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. Chúng tôi cho phép sử dụng tất cả các hàm tổng hợp và hàm phân tích khi xử lý dữ liệu của một người dùng. Hãy xem bài viết Tổng hợp ở cấp người dùng để biết thông tin chi tiết.

Hàm tổng hợp

Bạn có thể sử dụng các hàm sau để tổng hợp trên nhiều người dùng:

  • SUM
  • COUNT
  • COUNTIF
  • APPROX_COUNT_DISTINCT
  • AVG

Ở chế độ bảo mật quy trình kiểm tra sự khác biệt, bạn cũng có thể sử dụng các hàm sau:

  • ANY_VALUE
  • LOGICAL_AND
  • LOGICAL_OR
  • MAX
  • MIN
  • CORR
  • COVAR_POP
  • COVAR_SAMP
  • STDDEV_POP
  • STDDEV_SAMP
  • STDDEV
  • VAR_POP
  • VAR_SAMP
  • VARIANCE

Hãy xem bài viết về việc thêm nhiễu để biết thông tin chi tiết về các hàm tổng hợp và tính năng dành riêng cho nhiễu.

Hàm phân tích

Chúng tôi hạn chế tất cả các hàm phân tí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 giới hạn hơn.

Các kiểu được hỗ trợ

Loại Mô tả
ADH.USER_HLL Một 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 Một 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à ID

Các loại này hỗ trợ việc hợp nhất và trích xuất để ước tính số lượng giá trị riêng biệt, đồng thời không hỗ trợ việc 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 loại 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 đến đầu ra 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 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 hàm Các kiểu được hỗ trợ Kiểu dữ liệu trả về
HLL_COUNT.EXTRACT ADH.USER_HLL, ADH.BYTE_HLL INT64
HLL_COUNT.INIT Tất cả các kiểu được hỗ trợ tiêu chuẩn,ADH.USER_ID ADH.USER_HLL cho dữ liệu đầ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ư kiểu dữ liệu đầu vào

Giới hạn

Thêm nhiễu: Các hàm HLL++ không được hỗ trợ khi chạy truy vấn bằng cách thêm nhiễu.

Tổng hợp ở cấp người dùng

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

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;

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

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