הפונקציה Partition

חל על
Access של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

החזרת משתנה (מחרוזת) המציין היכן מספר מופיע בסידרה מחושבת של טווחים.

תחביר

Partition(number, start, stop, interval)

תחביר הפונקציה Partition מכיל את הארגומנטים הבאים:

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

הערות

הפונקציה Partition מזהה את הטווח המסוים שבו number נמצא ומחזירה משתנה (מחרוזת) המתאר טווח זה. הפונקציה Partition שימושית ביותר בשאילתות. באפשרותך ליצור שאילתת בחירה המציגה כמה הזמנות נכללות בתוך טווחים שונים, לדוגמה, ערכי הזמנות מ- 1 עד 1000, מ- 1001 עד 2000 וכן הלאה.

הטבלה הבאה מציגה כיצד הטווחים נקבעים באמצעות שלוש קבוצות של ארגומנטים של התחלה, עצירהומרווח זמן . העמודות 'טווח ראשון' ו'טווח אחרון' מראות מה המחיצה מחזירה. הטווחים מיוצגים על-ידי lowervalue:uppervalue, כאשר הקצה הנמוך (lowervalue) של הטווח מופרד מהקצה הגבוה (uppervalue) של הטווח באמצעות נקודתיים (:).

התחלה עצור interval לפני הראשון טווח ראשון טווח אחרון אחרי הפעם האחרונה
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

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

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

אם המרווח הוא 1, הטווח הוא number:number, ללא קשר לארגומנטים start ו - stop . לדוגמה, אם המרווח הוא 1, number הוא 100 ו - stop הוא 1000, הפונקציה Partition מחזירה " 100: 100".

אם אחד מהחלקים הוא Null, הפונקציה Partition מחזירה ערך Null.

דוגמאות לשאילתות

ביטוי תוצאות
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); יוצרת ערכת טווחים עבור הערכים בשדה "unitprice" מ- "start"(40) עד "stop"(240) בגודל "interval"(20) שווה ערך ומחשבת את הספירה של "unitprice" בטווחים המתאימים. הצגת הטווחים בעמודה PriceRange ו- Count בעמודה 'Count'.

דוגמה ל- VBA

דוגמה זו מניחה שיש לך טבלת הזמנות המכילה שדה Freight. היא יוצרת הליך בחירה המונה את מספר ההזמנות שעבורן עלות ההובלה מתחלק לכל אחד מכמה טווחים. הפונקציה Partition משמשת תחילה לקביעת טווחים אלה, ולאחר מכן הפונקציה SQL Count סופרת את מספר ההזמנות בכל טווח. בדוגמה זו, הארגומנטים לפונקציה Partition הם start = 0, stop = 500, interval = 50. לכן, הטווח הראשון יהיה 0:49, וכן הלאה עד 500.

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);