מבנה השאילתה

אפשר לשלוח שאילתות על שדות של מדדים ופלחים ב-method 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 נדרש בשאילתה ל-method search בשירות reports.

WHERE

בסעיף 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