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