يمكن إرسال طلبات البحث لحقول المقاييس والشرائح إلى الطريقة
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
. في الوقت الحالي، لا يتوفّر سوى جدول 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
لتقييد العدد الإجمالي للنتائج لطلب البحث التالي:
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