دوال SQL المسموح بها

لأسباب تتعلّق بالخصوصية، نحدّ من دوال 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

طلبات البحث عن التحليل

بالنسبة إلى طلبات البحث التحليلية المجمّعة، نحظر الدوالّ التي تجمع البيانات من مستخدمين متعدّدين. يُسمح بجميع الدوالّ التجميعية والتحليلية عند معالجة dataمستخدم واحد. اطّلِع على عمليات التجميع على مستوى المستخدِم أدناه للاطّلاع على التفاصيل.

الدوالّ المجمّعة

وظيفة هل المنتَج مسموح به؟
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 نعم

الدوالّ التحليلية

يتم حظر جميع وظائف التحليل.

دوال HyperLogLog++

تتيح Ads Data Hub دوالّ HyperLogLog++ (HLL++). ومع ذلك، فإنّها تستخدِم أنواع بيانات متخصّصة ذات قيود إضافية.

الأنواع المتوافقة

النوع الوصف
ADH.USER_HLL رسم إجمالي تم إنشاؤه من قيم من النوع ADH.USER_ID
ADH.BYTE_HLL رسم بياني مجمّع من قيم أيّ نوع غير رقم تعريف

تتيح هذه الأنواع الدمج والاستخراج لتقديرات عدد القيم الفريدة، ولا تتيح التحويل المباشر إلى أي نوع آخر. ولا يمكن تصديرها مباشرةً من Ads Data Hub، لذا عليهم استخدام HLL_COUNT.EXTRACT أو HLL_COUNT.MERGE قبل الوصول إلى نتيجة طلب البحث.

تتيح رسومات HLL التقريبية تقدير عدد القيم الفريدة للسمة على مستوى طبقات متعددة من التجميع، ولكن تجدر الإشارة إلى أنّها لا تحقّق في Ads Data Hub تحسينًا أساسيًا في الأداء مقارنةً بـ COUNT(DISTINCT) في طبقة واحدة.

الدوال المتوافقة

اسم الوظيفة الأنواع المتوافقة نوع القيمة التي يتم عرضها
HLL_COUNT.EXTRACT ADH.USER_HLL، ADH.BYTE_HLL INT64
HLL_COUNT.INIT جميع الأنواع العادية المتوافقة، ADH.USER_ID ADH.USER_HLL لإدخال ADH.USER_ID، وADH.BYTE_HLL بخلاف ذلك
HLL_COUNT.INITNT.MERGE ADH.USER_HLL، ADH.BYTE_HLL INT64
HLL_COUNT.MERGE_PARTIAL ADH.USER_HLL، ADH.BYTE_HLL مطابق لنوع الإدخال

القيود

إضافة التشويش: لا تتوفّر دوال HLL++ عند تنفيذ طلب بحث باستخدام إضافة التشويش.

عمليات التجميع على مستوى المستخدِم

نسمح بجميع الدوالّ التجميعية والتحليلية في عبارات SELECT التي تُجمِّع أو تُقسِّم حسب user_id. لكي يعمل ذلك، يجب أن تُوضِّح أي عمليات دمج سابقة بوضوح أنّه يتم الاحتفاظ بالبيانات على مستوى المستخدِم من خلال الدمج على user_id، كما هو موضّح في هذا المثال:

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)

طلبات البحث في قوائم المستخدمين

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