يمكن إرسال طلبات البحث لحقلَي المقاييس والشرائح إلى الطريقة 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