סינון נתונים בנוסחאות של DAX

הערה:  אנו מעוניינים לספק לך את תוכן העזרה העדכני ביותר במהירות האפשרית, בשפה שלך. דף זה תורגם באמצעות אוטומציה והוא עשוי לכלול שגיאות דקדוק או אי-דיוקים. מטרתנו היא כי תוכן זה יהיה שימושי עבורך. האם תוכל לספר לנו אם המידע הועיל לך, בחלק התחתון של דף זה? לנוחותך, הנה המאמר באנגלית .

סעיף זה מתאר את אופן היצירה של מסננים בתוך נוסחאות Data Analysis Expressions (DAX). באפשרותך ליצור מסננים בתוך נוסחאות, כדי להגביל את הערכים ממקור הנתונים המשמשים בחישובים. ניתן לעשות זאת על-ידי ציון טבלה כקלט לנוסחה והגדרת ביטוי מסנן. ביטוי המסנן שאתה מספק משמשת שאילתה על נתוני ולחזור רק קבוצת משנה של נתוני המקור. החלת המסנן באופן דינאמי בכל פעם שתעדכן את התוצאות של הנוסחה, בהתאם להקשר הנוכחי של הנתונים שלך.

במאמר זה

יצירת מסנן בטבלה המשמשת בנוסחה

מסננים שמסירים ערכים כפולים

כיצד ההקשר משפיע על מסננים

הסרת מסננים

עקיפת כל המסננים בפונקציה ALL

עקיפת מסננים ספציפיים באמצעות הפונקציה ALLEXCEPT

יצירת מסנן בטבלה המשמשת בנוסחה

באפשרותך להחיל מסננים המקבלות טבלה כקלט. במקום להזין שם טבלה, יש להשתמש בפונקציה FILTER כדי להגדיר קבוצת משנה של שורות מהטבלה שצוינה. לאחר מכן קבוצת משנה זו מועברת לפונקציה אחרת, לצורך פעולות כגון צבירות מותאמות אישית.

לדוגמה, נניח שיש לך טבלה של נתונים המכילה פרטי הזמנות לגבי משווקים, וברצונך לחשב כמה מכר כל משווק. עם זאת, ברצונך להציג את סכום המכירות רק עבור אותם משווקים שמכרו יחידות מרובות של המוצרים בעלי הערך הגבוה שלך. הנוסחה הבאה, המבוססת על חוברת העבודה לדוגמה DAX, מציגה דוגמה אחת של האופן שבו באפשרותך ליצור חישוב זה באמצעות מסנן:

= SUMX (
FILTER ('ResellerSales_USD', 'ResellerSales_USD' [Quantity] > 5 & &
'ResellerSales_USD' [ProductStandardCost_USD] > 100),
'ResellerSales_USD' [SalesAmt]
)

  • החלק הראשון של הנוסחה מציין אחת מפונקציות הצבירה Power Pivot, אשר מקבלת טבלה כארגומנט. SUMX מחשבת את סכום מעל טבלה.

  • החלק השני של הנוסחה, FILTER(table, expression),מורה SUMX אילו הנתונים שבהם יש להשתמש. SUMX דורש טבלה או ביטוי שתוצאתו טבלה. כאן, במקום להשתמש כל הנתונים בטבלה, תשתמש בפונקציה FILTER כדי לציין אילו שורות מהטבלה נמצאות בשימוש.

    שני חלקים החלות על הביטוי filter: החלק הראשון של שמות הטבלה שאליה מחיל המסנן. החלק השני מגדיר ביטוי שישמש תנאי הסינון. במקרה זה, אתה מסנן על המתקינים שנמכרו יותר מ- 5 יחידות ובמוצרים עלות יותר מ- $100. האופרטור, & &, הוא אופרטור AND לוגי, המציינת כי חייבים להיות true עבור השורה ישתייך קבוצת המשנה המסוננת בשני החלקים של התנאי.

  • החלק השלישי של הנוסחה מציין לפונקציה SUMX אילו ערכים יש לסכם. במקרה זה אתה משתמש בסכום המכירה בלבד.

    שים לב פונקציות המחזירות טבלה, כגון סינון, לעולם לא להחזיר את הטבלה או שורות ישירות, אך תמיד מוטבעות בתוך פונקציה אחרת. לקבלת מידע נוסף אודות סינון ופונקציות אחרות ששימשו לסינון, כולל דוגמאות נוספות, ראה פונקציות מסנן (DAX).

    הערה: ביטוי המסנן מושפע בהקשר שבו הוא נמצא בשימוש. לדוגמה, אם תשתמש מסנן באמת מידה מדוד נעשה שימוש ב- PivotTable או PivotChart, הדבר עשוי להשפיע שקבוצת המשנה של הנתונים המוחזרים על-ידי מסננים נוספים או כלי פריסה שחלה המשתמש ב- PivotTable. לקבלת מידע נוסף אודות ההקשר, ראה הקשר בנוסחאות DAX.

מסננים שמסירים ערכים כפולים

בנוסף מסנן עבור ערכים ספציפיים, באפשרותך לחזור בקבוצת ערכים ייחודיים מתוך טבלה או עמודה אחרת. אפשרות זו שימושית כאשר ברצונך לספור את מספר הערכים הייחודיים בעמודה, או השתמש רשימה של ערכים ייחודיים עבור פעולות אחרות. DAX מספק שתי פונקציות להחזרת הערכים הייחודיים: הפונקציה DISTINCT והפונקציה ערכים.

  • הפונקציה DISTINCT בודקת עמודה בודדת שתציין כארגומנט בפונקציה, ומחזירה עמודה חדשה המכילה את הערכים הייחודיים בלבד.

  • הפונקציה ערכים גם הפרמטר מחזיר רשימה של ערכים ייחודיים, אך גם מחזירה חבר לא ידוע. אפשרות זו שימושית כאשר תשתמש ערכים משתי טבלאות המצורפים על-ידי קשר גומלין, והוא ערך חסרים בטבלה אחת ולא קיים בטבלה אחרת. לקבלת מידע נוסף אודות חבר לא ידוע, ראה הקשר בנוסחאות DAX.

שתי הפונקציות מחזירות עמודה שלמה של ערכים; לכן, עליך להשתמש בפונקציות כדי לקבל רשימה של ערכים המועברת לאחר מכן לפונקציה אחרת. לדוגמה, באפשרותך להשתמש בנוסחה הבאה לקבלת רשימה של המוצרים הייחודיים שנמכרו על-ידי משווק מסוים באמצעות מפתח המוצר הייחודי ולאחר מכן לספור את המוצרים ברשימה זו באמצעות הפונקציה COUNTROWS:

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

לראש הדף

כיצד ההקשר משפיע על מסננים

בעת הוספת נוסחת DAX PivotTable או PivotChart, תוצאות הנוסחה עשויים להיות מושפעים לפי ההקשר. אם אתה עובד בטבלה Power Pivot, מההקשר היא השורה הנוכחית והעמודה הערכים שלה. אם אתה עובד ב- PivotTable או PivotChart, מההקשר פירושו קבוצה או קבוצת משנה של נתונים המוגדר על-ידי פעולות כגון פרוסות או סינון. העיצוב של ה-PivotTable או PivotChart הגובה גם הקשר משלו. לדוגמה, אם אתה יוצר PivotTable המקבץ מכירות לפי אזור ולפי year, רק את הנתונים המתאים אזורים ושנים אלה מופיע ב- PivotTable. לכן כל מידות שאתה מוסיף ל- PivotTable מחושבות בהקשר של כותרות עמודה ושורה יחד עם כל המסננים בנוסחה מידה.

לקבלת מידע נוסף, ראה הקשר בנוסחאות DAX.

לראש הדף

הסרת מסננים

בעת עבודה עם נוסחאות מורכבות, ייתכן שתרצה לדעת בדיוק מהם המסננים הנוכחיים, או ייתכן שתרצה לשנות את חלק המסנן של הנוסחה. נוסחת DAX מספקת כמה פונקציות המאפשרות לך להסיר מסננים ולקבוע אילו עמודות יישמרו כחלק מהקשר המסנן הנוכחי. סעיף זה מספק מבט כולל על האופן שבו פונקציות אלה משפיעות על תוצאות נוסחה.

עקיפת כל המסננים בפונקציה ALL

באפשרותך להשתמש בפונקציה ALL כדי לעקוף את כל המסננים שהוחלו קודם לכן ולאחר להחזיר את כל השורות בטבלה לפונקציה המבצע את הפעולה צבירה או אחרים. אם אתה משתמש עמודה אחת או יותר, במקום טבלה, כארגומנטים ALL, הפונקציה ALL מחזירה את כל השורות, תוך התעלמות כל מסנני ההקשר.

הערה: אם אתה מתמצא במינוח של מסדי נתונים יחסיים, ניתן לחשוב על ALL כעל יצירת הצירוף החיצוני הימני הטבעי של כל הטבלאות.

לדוגמה, נניח שיש לך טבלאות Sales ו- Products, וברצונך ליצור נוסחה שתחשב את סכום המכירות עבור המוצר הנוכחי חלקי המכירות עבור כל המוצרים. עליך להביא בחשבון את העובדה שאם הנוסחה נמצאת בשימוש במדיד, משתמש ה- PivotTable עשוי להשתמש בכלי פריסה כדי לסנן לפי מוצר מסוים, עם שם המוצר בשורות. לכן, כדי לקבל את הערך האמיתי של המכנה ללא קשר למסננים או לכלי פריסה כלשהם, עליך להוסיף את הפונקציה ALL כדי לעקוף מסננים. הנוסחה הבאה היא דוגמה אחת לאופן השימוש ב- ALL כדי לעקוף את ההשפעות של מסננים קודמים:

= SUM (Sales [Amount]) / SUMX (Sales [Amount], מסנן (Sales, ALL(Products)))

  • החלק הראשון של הנוסחה, SUM (Sales[Amount]), מחשב את המונה.

  • הסכום מביא בחשבון את ההקשר הנוכחי, כלומר אם תוסיף את הנוסחה לעמודה מחושבת, הקשר השורה יוחל, ואם תוסיף את הנוסחה ל- PivotTable כמדיד, כל המסננים שהוחלו ב- PivotTable (הקשר המסנן) יוחלו.

  • החלק השני של הנוסחה, מחשב המכנה. הפונקציה ALL עקיפת מסננים עשויים לחול על הטבלה Products .

לקבלת מידע נוסף, כולל דוגמאות מפורטות, ראה הפונקציה ALL.

עקיפת מסננים ספציפיים באמצעות הפונקציה ALLEXCEPT

הפונקציה ALLEXCEPT עקיפת גם מסנני קיים, אך באפשרותך לציין כי חלק המסננים קיים ויש לשמר. העמודות תקרא כארגומנטים לפונקציה ALLEXCEPT ציין אילו עמודות ימשיכו להיות מסוננות. אם ברצונך לעקוף את המסננים מכל רוב העמודות, אך לא את כולם, ALLEXCEPT הוא לנוח יותר כל. הפונקציה ALLEXCEPT הוא שימושי במיוחד כאשר אתה יוצר טבלאות Pivottable שבהם ייתכן ניתן לסנן עמודות רבות ושונות, וברצונך לקבוע את הערכים שבהם נעשה שימוש בנוסחה. לקבלת מידע נוסף, כולל בדוגמת מפורט אודות אופן השימוש ALLEXCEPT ב- PivotTable, ראה הפונקציה ALLEXCEPT.

לראש הדף

שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×