אפשר לשלוח שאילתות לגבי שדות של מדדים ופלחים באמצעות השיטה reports.search. כדי ליצור שאילתה בשפת השאילתות של Merchant Center, צריך קודם לכתוב את השאילתה באמצעות הדקדוק של השפה. שאילתה מורכבת ממספר סעיפים:
SELECTFROMWHEREORDER BYLIMIT
סעיפים משתמשים בשמות שדות, בשמות טבלאות, באופרטורים, בתנאים ובסדרים כדי לעזור לכם לבחור את הנתונים הרצויים. אחרי שמשלבים את כל המידע הזה לשאילתה אחת, אפשר לשלוח בקשה באמצעות 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.datesegments.program
מדדים
metrics.impressionsmetrics.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