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