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

يمكن إرسال طلبات البحث عن حقول المقاييس والشرائح إلى الطريقة 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 الحقول التي يمكن استخدامها من قِبل كل العبارة الأخرى لطلب البحث المحدّد. يمكن تحديد جدول واحد فقط في عبارة FROM. لا يتوفّر حاليًا سوى جدول MerchantPerformanceView. تكون عبارة 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 خلال فترة 30 يومًا المحدّدة.

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 بتحديد عدد النتائج التي سيتم عرضها. يكون هذا مفيدًا إذا كنت مهتمًا بعرض ملخّص فقط.

على سبيل المثال، يمكن استخدام 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