به دلایل حفظ حریم خصوصی، عملکردهای SQL را که میتوانید در ADH استفاده کنید، محدود میکنیم.
توابع اسکالر
همه توابع اسکالر به جز موارد زیر مجاز هستند:
-
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
پرس و جوهای تجزیه و تحلیل
برای جستارهای تجزیه و تحلیل انبوه، ما توابعی را که دادههای چند کاربر را ترکیب میکنند، محدود میکنیم. همه توابع انبوه و تحلیلی هنگام پردازش داده های یک کاربر مجاز هستند. برای جزئیات بیشتر به مجموعههای سطح کاربر در زیر مراجعه کنید.
توابع جمع
عملکرد | مجاز؟ |
---|---|
ANY_VALUE | آره |
APPROX_QUANTILES | خیر |
APPROX_TOP_COUNT | خیر |
APPROX_TOP_SUM | خیر |
ARRAY_AGG | خیر |
ARRAY_CONCAT_AGG | خیر |
AVG | آره |
BIT_AND | خیر |
BIT_OR | خیر |
BIT_XOR | خیر |
COUNT | آره |
COUNTIF | آره |
LOGICAL_AND | آره |
LOGICAL_OR | آره |
MAX | آره |
MIN | آره |
SUM | آره |
CORR | آره |
COVAR_POP | آره |
COVAR_SAMP | آره |
STDDEV_POP | آره |
STDDEV_SAMP | آره |
STDDEV | آره |
STRING_AGG | خیر |
VAR_POP | آره |
VAR_SAMP | آره |
VARIANCE | آره |
APPROX_COUNT_DISTINCT | آره |
توابع تحلیلی
همه توابع تحلیلی محدود شده اند.
تجمعات در سطح کاربر
ما به همه توابع انبوه و تحلیلی در عبارات SELECT
اجازه می دهیم که توسط user_id
گروه یا پارتیشن بندی شوند. برای این کار، هر اتصال قبلی باید روشن کند که دادهها با پیوستن به user_id
در سطح کاربر نگهداری میشوند، مانند این مثال:
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
اگر این امکان پذیر نیست، زیرا شناسه ها جدا هستند و به هم نمی پیوندند، آن پرس و جو باید بر اساس همه شناسه های مستقل گروه بندی یا پارتیشن بندی شود، مانند این مثال:
SELECT
a.user_id AS user_a,
b.user_id AS user_b,
ARRAY_AGG(DISTINCT campaign_id) campaigns
FROM
adh.google_ads_impressions a
JOIN adh.google_ads_impressions b USING (campaign_id)
GROUP BY 1, 2
پرس و جوهای لیست کاربران
در جستارهای فهرست کاربر، توابع انبوه مجاز هستند و توابع تحلیلی پشتیبانی نمی شوند.