دوال لغة الاستعلامات البنيوية (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 نعم

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

يتم تقييد جميع الدوال التحليلية.

دوال 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 إمكانية تقدير عدد القيم الفريدة للسمة على مستوى طبقات تجميع متعدّدة، ولكن تجدر الإشارة إلى أنّ رسومات HLL لا تؤدي إلى تحسين كبير في الأداء مقارنةً بـ 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)

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

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