يمكن إرسال طلبات البحث عن حقول المقاييس والشرائح إلى طريقة reports.search. لإنشاء طلب بحث في Merchant Center Query Language، عليك أولاً إنشاء طلب البحث باستخدام قواعد اللغة. يتألف طلب البحث من عدد من العبارات:
SELECTFROMWHEREORDER BYLIMIT
تستخدِم العبارات أسماء الحقول وأسماء الجداول وعوامل التشغيل والشروط وعمليات الترتيب لمساعدتك في اختيار البيانات المطلوبة. بعد الدمج في طلب بحث واحد، يمكن تقديم طلب باستخدام 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.datesegments.program
المقاييس
metrics.impressionsmetrics.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