دوال لغة الاستعلامات البنيوية (SQL) المسموح بها

لأسباب تتعلق بالخصوصية، نحظر وظائف SQL التي يمكنك استخدامها في Ads Data Hub.

الدوال العددية

يُسمح بجميع الدوال العددية باستثناء ما يلي:

  • 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

طلبات قائمة المستخدمين

في طلبات قائمة المستخدمين، يُسمح بالوظائف المجمّعة، ولا تتوفّر الدوال التحليلية.