אפשר לשלוח שאילתות על שדות של מדדים ופלחים ב-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