סינון לפי כתובת אימייל פועל על ידי השוואה בין הכתובת של הצופה המחובר לבין שדה במקור הנתונים שמכיל כתובות אימייל תקינות. בכל שורה בנתונים, המסנן בודק אם כתובת האימייל של הצופה תואמת לכתובת בשורה הזו.
כדאי להביא בחשבון את הנתונים הבאים:
| אימייל | נתונים |
|---|---|
| alan@example.com | abc |
| mary@example.com | cde |
| alan@example.com | efg |
| mary@example.com | ghi |
אם הנתונים האלה מסוננים לפי כתובת אימייל, ומשתמש alan@example.com צופה בדוח המסונן, הוא רואה רק את הנתונים abc ו-efg. אם משתמש אחר, mary@example.com, יצפה באותו הדוח, הוא יראה את הנתונים cde ו-ghi.
הגישה הזו מתאימה אם יש יחס של אחד לאחד בין הצופים לבין הנתונים. אבל מה אם רוצים שגם המשתמש manager@example.com יוכל לראות את הנתונים? כלומר, אתם רוצים שהרבה אנשים יראו את אותן שורות של נתונים (יחס רבים לרבים).
הסיבה לכך היא שסינון לפי אימייל פועל רק על כתובת אחת בכל שורה, ולכן אי אפשר לכלול רשימה של כתובות אימייל בשדה אימייל. לדוגמה, הוספת רשימה של כתובות אימייל בשדה אימייל באופן הבא לא תפעל:
| אימייל | נתונים |
|---|---|
| alan@example.com, manager@example.com, vp@example.com, bigwig@customer.com | abc |
פתרון: שימוש במיזוג נתונים
אתם יכולים ליצור קשר של רבים לרבים בין כתובות אימייל לבין הנתונים שלכם על ידי מיזוג טבלה של כתובות עם הנתונים שלכם, באמצעות כל שדה משותף כמפתח איחוד.
דוגמה לדוכן פירות
אתם מנהלים חברה לתוצרת חקלאית, ואתם רוצים להראות לנציגי המכירות שלכם את הביצועים שלהם בדוכני הפירות השונים שהם נותנים להם שירות. כמה אנשי מכירות יכולים לטפל בכמה דוכנים. כדי לסנן את הנתונים כך שאנשי המכירות יראו רק את הנתונים שלהם, אפשר לעשות את הפעולות הבאות:
שלב 1: יוצרים טבלה של רשימת בקרת גישה
בשלב הזה, יוצרים טבלה של רשימת בקרת גישה (ACL) שמכילה את כתובות האימייל של אנשי המכירות המורשים, בשילוב עם שדה נתונים (שם של דוכן פירות) שאפשר להשתמש בו כמפתח לצירוף במיזוג.
| כתובת האימייל של נציג המכירות | מַפְתח איחוד (join) |
|---|---|
| salesrep1@example.com | דוכן פירות א' |
| salesrep2@example.com | דוכן פירות א' |
| salesrep1@example.com | דוכן פירות ב' |
| salesrep2@example.com |
דוכן פירות ג' |
טבלה של רשימת בקרת גישה (ACL)
שימו לב שהמשתמש salesrep1@example.com יכול לראות נתונים של דוכן הפירות א' ודוכן הפירות ב', בעוד שהמשתמש salesrep2@example.com יכול לראות נתונים של דוכן הפירות א' ודוכן הפירות ג'.
שלב 2: יצירת טבלת הנתונים
בטבלת הנתונים אפשר לעקוב אחרי המכירות שכל נציג ביצע בכל דוכן פירות.
| דוכן פירות | פירות | מכירות |
|---|---|---|
| דוכן פירות א' | Apple | 50 |
| דוכן פירות א' | בננה | 26 |
| דוכן פירות א' | כתום | 20 |
| דוכן פירות א' | אגס | 93 |
| דוכן פירות ב' | Apple | 98 |
| דוכן פירות ב' | בננה | 86 |
| דוכן פירות ב' | כתום | 7 |
| דוכן פירות ב' | אגס | 85 |
| דוכן פירות ג' | Apple | 21 |
| דוכן פירות ג' | בננה | 61 |
| דוכן פירות ג' | כתום | 3 |
| דוכן פירות ג' | אגס | 78 |
טבלת נתונים
שלב 3: החלת מסנן האימייל על טבלת ACL
כדי להחיל את מסנן האימייל על טבלת ACL:
- עורכים את מקור הנתונים של טבלת ה-ACL.
- לוחצים על סינון לפי כתובת אימייל.
- בוחרים את השדה Sales Rep Email (אימייל של נציג מכירות) למסנן.

שלב 4: מיזוג טבלת בקרת הגישה עם טבלת הנתונים
לבסוף, ממזגים את טבלת הנתונים עם טבלת ה-ACL. מכיוון שאנחנו רוצים להוסיף את האימייל של נציג המכירות כעמודה לטבלת הנתונים, נתחיל מטבלת הנתונים ואז נבצע הצטרפות שמאלית לטבלת ACL.
אם לא מוחל מסנן אימייל, מוצגים כל הרשומות של שני נציגי המכירות. עם זאת, אם מפעילים את מסנן האימייל, מיזוג טבלת ה-ACL עם טבלת נתוני המכירות מסנן את הנתונים לפי איש המכירות שצופה בדוח. אלה הפרטים שכל נציג יוכל לראות כשהוא יצפה בדוח:
נציג מכירות 1 רואה את זה:
| נתונים | פירות | מכירות |
|---|---|---|
| דוכן פירות א' | Apple | 50 |
| דוכן פירות א' | בננה | 26 |
| דוכן פירות א' | כתום | 20 |
| דוכן פירות א' | אגס | 93 |
| דוכן פירות ב' | Apple | 98 |
| דוכן פירות ב' | בננה | 86 |
| דוכן פירות ב' | כתום | 7 |
| דוכן פירות ב' | אגס | 85 |
נציג מכירות 2 רואה את זה:
| נתונים | פירות | מכירות |
|---|---|---|
| דוכן פירות א' | בננה | 26 |
| דוכן פירות א' | כתום | 20 |
| דוכן פירות א' | Apple | 50 |
| דוכן פירות א' | אגס | 93 |
| דוכן פירות ג' | בננה | 61 |
| דוכן פירות ג' | כתום | 3 |
| דוכן פירות ג' | Apple | 21 |
| דוכן פירות ג' | אגס | 78 |