بنية طلب البحث

يمكن إرسال طلبات البحث لحقلَي المقاييس والشرائح إلى الطريقة reports.search. لإنشاء طلب بحث بلغة طلب البحث في Merchant Center، يجب أولاً إنشاء طلب البحث باستخدام قواعد اللغة، حيث يتكوّن طلب البحث من عدد من العبارات:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

تستخدم البنود أسماء الحقول وأسماء الجداول وعوامل التشغيل والشروط والترتيبات لمساعدتك في اختيار البيانات المطلوبة. بعد دمجها في طلب بحث واحد، يمكن تقديم طلب باستخدام Google Content API for Shopping. دعونا نلقي نظرة على كيفية استخدام كل عبارة.

البنود

SELECT

تحدّد العبارة SELECT مجموعة من الحقول المطلوب استرجاعها في الطلب. تستخدم الدالة SELECT قائمة مفصولة بفواصل لحقول الأقسام والمقاييس، وتعرض القيم في الردّ. عبارة SELECT مطلوبة في طلب البحث.

في ما يلي نموذج طلب بحث يختار مقاييس النقرات من جدول معيّن:

SELECT
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

يمكنك أيضًا الاستعلام عن أنواع حقول مختلفة في طلب واحد:

SELECT
  segments.date,
  segments.program,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
  • حقول الشرائح

    • segments.date
    • segments.program
  • المقاييس

    • metrics.impressions
    • metrics.clicks

لا يُسمح ببعض الحقول في عبارة SELECT بسبب القيود التالية:

  • جارٍ الاستعلام عن حقول الشريحة التي لا تحتوي على حقل مقياس واحد على الأقل.

يمكنك الاطّلاع على المعلومات المتعلّقة بالشرط أعلاه في مستنداتنا المرجعية.

مِن

تحدد العبارة FROM الجدول المطلوب استرجاع البيانات منه في الطلب. يحدّد الجدول في عبارة FROM الحقول التي يمكن استخدامها من خلال جميع العبارات الأخرى لطلب البحث المعنيّ. يمكن تحديد جدول واحد فقط في الفقرة FROM. في الوقت الحالي، يمكن استخدام جدول Merchant PerformanceView فقط. عبارة FROM مطلوبة في طلب البحث للطريقة search في خدمة reports.

أين؟

تحدّد العبارة WHERE الشروط التي يجب تطبيقها عند فلترة البيانات للطلب. عند استخدام عبارة WHERE، يمكن تحديد شرط واحد أو أكثر باستخدام AND للفصل بينها. يجب أن يتّبع كل شرط النمط field_name Operator value. يمكن استخدام أيّ حقل من حقول الشرائح في عبارة WHERE، ولكن يجب تحديد حقول المقاييس في عبارة SELECT لاستخدامها في عبارة WHERE. عبارة WHERE مطلوبة في طلب البحث، لأنك يجب دائمًا تحديد النطاق الزمني الذي تريد فيه عرض بيانات الأداء.

في ما يلي مثال على استخدام WHERE لعرض مقاييس من فترة زمنية معيّنة:

SELECT
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

يمكنك الجمع بين شروط متعددة لفلترة البيانات. سيعرض هذا المثال عدد النقرات لكل عرض في برنامج SHOPPING_ADS حيث تكون النقرات > 100 خلال فترة الثلاثين يومًا المحددة.

SELECT
  segments.offer_id,
  segments.program,
  metrics.clicks
FROM MerchantPerformanceView
WHERE metrics.clicks > 100
  AND segments.program = SHOPPING_ADS
  AND segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’;

في طلب البحث التالي، ستلاحظ أنه تم اختيار segments.date. بغض النظر عمّا إذا اخترت segments.date، يجب دائمًا تقديم نطاق زمني محدّد في العبارة WHERE لاسترداد بيانات الأداء.

SELECT
  segments.date,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

عند الفلترة، من المهم مراعاة حساسية حالة الأحرف بالنسبة إلى عامل التشغيل لديك.

للحصول على قائمة كاملة بعوامل التشغيل، راجِع قواعد اللغة.

ORDER BY

تحدّد العبارة ORDER BY ترتيب عرض النتائج. يتيح لك ذلك ترتيب البيانات تصاعديًا أو تنازليًا استنادًا إلى اسم الحقل. يتم تحديد كل طلب على أنّه field_name تليه ASC أو DESC. إذا لم يتم تحديد ASC أو DESC، سيتم ضبط الترتيب تلقائيًا على ASC. يمكن استخدام الحقول المحدّدة في الفقرة SELECT فقط في الفقرة ORDER BY. تعتبر عبارة ORDER BY اختيارية في الاستعلام.

يرتب الاستعلام التالي الصفوف المعروضة حسب عدد النقرات من الأعلى إلى الأقل:

SELECT
  segments.offer_id,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC

يمكنك تحديد حقول متعددة في عبارة ORDER BY باستخدام قائمة مفصولة بفواصل. سيحدث الترتيب بالتسلسل نفسه المحدد في طلب البحث. على سبيل المثال، في طلب البحث هذا، سيتم ترتيب النتائج تصاعديًا حسب offer_id، ثم بترتيب تنازلي حسب عدد مرات الظهور، ثم بترتيب تنازلي حسب عدد النقرات:

SELECT
  segments.offer_id,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY
  segments.offer_id,
  metrics.impressions DESC,
  metrics.clicks DESC

الحدّ الأقصى المسموح به

تسمح لك عبارة LIMIT بتحديد عدد النتائج المطلوب عرضها. ويكون هذا مفيدًا إذا كنت مهتمًا فقط بالملخص.

على سبيل المثال، يمكن استخدام LIMIT لتقييد إجمالي عدد النتائج لطلب البحث التالي:

SELECT
  segments.program,
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.impressions DESC
LIMIT 50