מבנה השאילתה

אפשר לשלוח שאילתות לגבי שדות של מדדים ופלחים באמצעות השיטה 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 הוא חובה בשאילתה לשיטה 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. אפשר להשתמש בסעיף ORDER BY רק בשדות שצוינו בסעיף SELECT. הסעיף 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