تشرح هذه المقالة كيفية استخدام استعلامات القيم العليا واستعلامات الإجماليات للعثور على التواريخ الأخيرة أو الأقرب في مجموعة من السجلات. من شأن هذا الأمر أن يساعدك على الإجابة على مجموعة متنوعة من أسئلة الأعمال، على سبيل المثال، متى كان آخر طلب شراء أحد العملاء، أو ربع السنة الذي كان هو الأفضل بالنسبة للمبيعات، حسب المدينة.
في هذه المقالة
نظرة عامة
يمكنك تصنيف البيانات ومراجعة العناصر الأعلى تصنيفا باستخدام استعلام القيم العليا. استعلام القيمة العليا هو استعلام تحديد يقوم بإرجاع عدد معين أو نسبة المئوية للقيم من أعلى النتائج، على سبيل المثال، الصفحات الخمسة الأكثر شيوعا على موقع ويب. يمكنك استخدام استعلام القيم العليا مقابل أي نوع من القيم، ولا يجب أن تكون أرقاما.
إذا كنت تريد تجميع البيانات أو تلخيصها قبل تصنيفها، فلا تحتاج إلى استخدام استعلام القيم العليا. على سبيل المثال، افترض أنك تريد البحث عن أرقام المبيعات لتاريخ مُعيَّن لكل مدينة تعمل فيها شركتك. في هذه الحالة، تصبح المدن فئات (يلزم العثور على البيانات لكل مدينة)، لذا يمكنك استخدام استعلام إجماليات.
عند استخدام استعلام القيم العليا للعثور على السجلات التي تحتوي على التواريخ الأحدث أو الأقرب في جدول أو مجموعة من السجلات، يمكنك الرد على مجموعة متنوعة من أسئلة العمل، مثل ما يلي:
-
من هو الشخص الذي اصنع أكبر المبيعات مؤخرا؟
-
متى كان آخر طلب آخر طلب من العميل؟
-
متى تكون أعياد الميلاد الثلاثة التالية في الفريق؟
لإنشاء استعلام القيمة العليا، ابدأ بإنشاء استعلام تحديد. بعد ذلك، قم بفرز البيانات وفقا لطرحك ، سواء كنت تبحث عن الأعلى أو الأسفل. إذا كنت بحاجة إلى تجميع البيانات أو تلخيصها، فتحول استعلام تحديد إلى استعلام إجماليات. يمكنك بعد ذلك استخدام دالة تجميعية، مثل Max أو Min لإرجاع أعلى قيمة أو أقل قيمة، أو أولا أو أخيرا لإرجاع التاريخ الأقرب أو الأحدث.
تفترض هذه المقالة أن قيم التاريخ التي تستخدمها لها نوع بيانات التاريخ/الوقت. إذا كانت قيم التاريخ في حقل "نص"، .
التفكير في استخدام عامل تصفية بدلا من استعلام القيم العليا
يكون عامل التصفية أفضل عادة إذا كان لديك تاريخ معين في الاعتبار. لتحديد ما إذا كان يجب إنشاء استعلام القيم العليا أو تطبيق عامل تصفية، ضع في اعتبارك ما يلي:
-
إذا كنت تريد إرجاع كل السجلات التي يتطابق فيها التاريخ، قبل تاريخ معين أو بعده، فاستخدم عامل تصفية. على سبيل المثال، لرؤية تواريخ المبيعات التي تمت بين شهري أبريل ويوليو، يمكنك تطبيق عامل تصفية.
-
إذا كنت تريد إرجاع كمية محددة من السجلات التي لها التواريخ الأحدث أو الأحدث في حقل، ولم تكن تعرف قيم التاريخ الدقيقة، أو أنها لا تهم، يمكنك إنشاء استعلام القيم العليا. على سبيل المثال، لرؤية أفضل خمسة أرباع مبيعات، استخدم استعلام القيم العليا.
لمزيد من المعلومات حول إنشاء عوامل التصفية واستخدامها، راجع المقالة "تطبيق عامل تصفية" لعرض سجلاتمحددة في قاعدة بيانات Access.
إعداد البيانات العينة لمتابعتها مع الأمثلة
تستخدم الخطوات الموجودة في هذه المقالة البيانات الموجودة في الجداول العينة التالية.
جدول الموظفين
اسم العائلة |
الاسم الأول |
العنوان |
المدينة |
CountryOrR egion |
تاريخ الميلاد |
تاريخ التوظيف |
بدخشي |
عطاء |
1 الشارع الرئيسي |
الرياض |
المملكة العربية السعودية |
5 فبراير 1968 |
10 يونيو 1994 |
سلمان |
امتياز |
52 شارع النور |
الرياض |
المملكة العربية السعودية |
22 مايو1957 |
22 نوفمبر 1996 |
مختار |
سراف |
3122 75th Ave. S.W. |
مكة |
المملكة العربية السعودية |
11 نوفمبر 1960 |
11 مارس 2000 |
عظيم |
غانم |
166 شارع المنار |
الدوحة |
قطر |
22 مارس 1964 |
22 يونيو 1998 |
رفاعي |
ضمير |
2 شارع الورود |
الكويت |
الكويت |
5 يونيو 1972 |
5 يناير 2002 |
حمصي |
فاضل |
30 شارع الأزهار |
مكة |
المملكة العربية السعودية |
23 يناير 1970 |
23 أبريل 1999 |
بيطار |
سلام |
67 الشارع الكبير |
المدينة |
المملكة العربية السعودية |
14 أبريل 1964 |
14 أكتوبر 2004 |
حلو |
سالم |
2 شارع الحمرا |
الدمام |
المملكة العربية السعودية |
29 أكتوبر 1959 |
29 مارس 1997 |
جدول EventType
معرِّف النوع |
نوع الحدث |
1 |
طرح منتج |
2 |
شراكة |
3 |
مهمة خاصة |
4 |
جمع تبرعات |
5 |
عرض تجاري |
6 |
محاضرة |
7 |
حفلة موسيقية |
8 |
معرض |
9 |
معرض مقام في الشارع |
جدول العملاء
معرِّف العميل |
الشركة |
الاتصال |
1 |
Contoso, Ltd. Graphic |
زهير الدبيري |
2 |
Tailspin Toys |
فرح حايك |
3 |
Fabrikam |
هناء حرب |
4 |
Wingtip Toys |
باسل كرزاي |
5 |
A. Datum |
جاكيم مصطفى |
6 |
Adventure Works |
حمصي بطرس |
7 |
Design Institute |
ثقيب حكيمي |
8 |
School of Fine Art |
مهى كبارة |
جدول الأحداث
معرِّف الحدث |
نوع الحدث |
العميل |
تاريخ الحدث |
السعر |
1 |
طرح منتج |
Contoso, Ltd. |
4/14/2011 |
10000 ر.س |
2 |
شراكة |
Tailspin Toys |
4/21/2011 |
8000 ر.س. |
3 |
عرض تجاري |
Tailspin Toys |
1/5/2011 |
25000 ر.س. |
4 |
معرض |
Graphic Design Institute |
5/13/2011 |
4500 ر.س. |
5 |
عرض تجاري |
Contoso, Ltd. |
5/14/2011 |
55000 ر.س |
6 |
حفلة موسيقية |
School of Fine Art |
5/23/2011 |
12000 ر.س. |
7 |
طرح منتج |
A. Datum |
6/1/2011 |
15000 ر.س. |
8 |
طرح منتج |
Wingtip Toys |
6/18/2011 |
21000 ر.س. |
9 |
جمع تبرعات |
Adventure Works |
6/22/2011 |
1300 ر.س. |
10 |
محاضرة |
Graphic Design Institute |
6/25/2011 |
2450 ر.س. |
11 |
محاضرة |
Contoso, Ltd. |
4/7/2011 |
3800 ر.س. |
12 |
معرض مقام في الشارع |
Graphic Design Institute |
4/7/2011 |
5500 ر.س. |
ملاحظة: تفترض الخطوات الواردة في هذا القسم أنه يوجد جدولي "العملاء" و"نوع الحدث" على الجانب "واحد" من علاقات واحد إلى أكثر مع الجدول "أحداث". في هذه الحالة، يشارك الجدول "أحداث" حقلي "معرّف العميل" و"معرّف النوع". لن تعمل استعلامات الإجماليات الموضحة في الأقسام التالية بدون تلك العلاقات.
لصق البيانات العينة في أوراق عمل Excel
-
ابدأ تشغيل Excel. يفتح مصنف فارغ.
-
اضغط على SHIFT+F11 لإدراج ورقة عمل (ستحتاج إلى أربعة).
-
انسخ البيانات من كل جدول نموذج إلى ورقة عمل فارغة. تضمين عناوين الأعمدة (الصف الأول).
إنشاء جداول قاعدة البيانات من أوراق العمل
-
حدد البيانات من ورقة العمل الأولى، بما في ذلك عناوين الأعمدة.
-
انقر ب زر الماوس الأيمن فوق "جزء التنقل"، ثم انقر فوق "لصق".
-
انقر فوق "نعم" لتأكيد احتواء الصف الأول على عناوين أعمدة.
-
كرر الخطوات من 1 إلى 3 لكل ورقة عمل متبق.
البحث عن التاريخ الأخير أو الأقل
تستخدم الخطوات الموجودة في هذا القسم البيانات العينة لتوضيح عملية إنشاء استعلام القيم العليا.
إنشاء استعلام قيم عليا أساسي
-
على علامة التبويب إنشاء، في المجموعة استعلامات، انقر فوق تصميم الاستعلام.
-
انقر نقرا مزدوجا فوق الجدول "الموظفون"، ثم انقر فوق "إغلاق".
إذا استخدمت البيانات النموذجية، فأضف جدول "الموظفون" إلى الاستعلام.
-
أضف الحقول التي تريد استخدامها في الاستعلام إلى شبكة التصميم. يمكنك النقر نقراً مزدوجاً فوق كل حقل، أو سحب كل حقل ووضعه في خلية فارغة في صف الحقل.
إذا استخدمت الجدول النموذجي، أضف حقول الاسم الأول واسم العائلة، وتاريخ الميلاد.
-
في الحقل الذي يحتوي على القيم العليا أو الدنيا (أي حقل تاريخ الميلاد، إذا استخدمت جدولاً نموذجياً)، فانقر فوق صف الفرز وحدد إما تصاعدي أو تنازلي.
يُرجِع ترتيب الفرز التنازلي التاريخ الأحدث، ويُرجِع ترتيب الفرز التصاعدي التاريخ الأقدم.
هام: يجب عليك تعيين قيمة في صف الفرز فقط للحقول التي تحتوي على التواريخ. إذا حددت ترتيب فرز لحقل آخر، فلن يُرجِع الاستعلام النتائج التي تريدها.
-
من علامة التبويب تصميم في المجموعة أدوات، انقر فوق السهم المنسدل إلى جانب الكل (في قائمة القيم العليا)، وأدخل عدد السجلات التي تريد رؤيتها، أو حدد خياراً من القائمة.
-
انقر فوق تشغيل لتشغيل الاستعلام وعرض النتائج في طريقة عرض ورقة البيانات.
-
احفظ الاستعلام باسم NextBirthDays.
يمكنك أن ترى أن هذا النوع من استعلام القيم العليا يمكنه الإجابة على الأسئلة الأساسية، مثل من هو أكبر شخص في الشركة أو أصغرهم سنا. تشرح الخطوات التالية كيفية استخدام التعبيرات والمعايير الأخرى لإضافة قوة ومرونة إلى الاستعلام. تعرض المعايير الموضحة في الخطوة التالية أعياد الميلاد الثلاثة التالية للموظفين.
إضافة معايير إلى الاستعلام
تستخدم هذه الخطوات الاستعلام الذي تم إنشاؤه في الإجراء السابق. يمكنك المتابعة مع استعلام قيم عليا مختلف طالما أنه يحتوي على بيانات التاريخ/الوقت الفعلية، وليس القيم النصية.
تلميح: إذا كنت تريد فهم كيفية عمل هذا الاستعلام بشكل أفضل، فبدل بين طريقة عرض "التصميم" و"طريقة عرض ورقة البيانات" في كل خطوة. إذا كنت تريد رؤية رمز الاستعلام الفعلي، فبدل إلى طريقة عرض SQL. للتبديل بين طرق العرض، انقر ب زر الماوس الأيمن فوق علامة التبويب في أعلى الاستعلام ثم انقر فوق طريقة العرض التي تريدها.
-
في جزء التنقل، انقر ب زر الماوس الأيمن فوق استعلام NextBirthDays، ثم انقر فوق "طريقة عرض التصميم".
-
في شبكة تصميم الاستعلام، في العمود إلى يمين BirthDate، أدخل ما يلي:
MonthPart: DatePart("m",[BirthDate]). يستخرج هذا التعبير الشهر من BirthDate باستخدام الدالة DatePart. -
في العمود التالي من شبكة تصميم الاستعلام، أدخل ما يلي:
DayOfMonthPart: DatePart("d",[BirthDate])يستخرج هذا التعبير يوم الشهر من BirthDate باستخدام الدالة DatePart. -
قم بمسح خانات الاختيار في الصف "إظهار" لكل تعبير من التعبيرين الذي أدخلته للتو.
-
انقر فوق صف الفرز لكل تعبير، ثم حدد تصاعدي.
-
في الصف "معايير" من العمود "تاريخ الميلاد"، اكتب التعبير التالي:
Month([تاريخ الميلاد]) > Month(Date()) OR Month([تاريخ الميلاد])= Month(Date()) AND Day([تاريخ الميلاد])>Day(Date()) يقومهذا التعبير بما يلي:-
يحدد الشهر ( [تاريخ الميلاد]) > Month(Date()) أن تاريخ ميلاد كل موظف يقع في شهر مستقبلي.
-
يحدد الشهر ([تاريخ الميلاد])= Month(Date()) And Day([تاريخ الميلاد])>Day(Date()) أنه إذا حدث تاريخ الميلاد في الشهر الحالي، يقع تاريخ الميلاد في اليوم الحالي أو بعده.
باختصار، يستثني هذا التعبير أي سجلات يقع فيها تاريخ الميلاد بين 1 يناير والتاريخ الحالي.
تلميح: لمزيد من الأمثلة حول تعبيرات معايير الاستعلام، راجع المقالة "أمثلة على معايير الاستعلام".
-
-
على علامة التبويب "تصميم"، في المجموعة "إعداد الاستعلام"، اكتب 3 في المربع "إرجاع".
-
على علامة التبويب تصميم، في مجموعة النتائج، انقر فوق تشغيل .
ملاحظة: في الاستعلام الخاص بك باستخدام البيانات الخاصة بك، قد ترى في بعض الأحيان سجلات أكثر مما حددت. إذا كانت بياناتك تحتوي على سجلات متعددة تشترك في قيمة من بين القيم العليا، سيرجع الاستعلام كل هذه السجلات حتى لو كان ذلك يعني إرجاع سجلات أكثر مما تريد.
البحث عن التواريخ الأخيرة أو الأقل لمجموعات السجلات
يمكنك استخدام استعلام إجماليات للعثور على التواريخ الأقرب أو الأحدث للسجلات التي تقع في مجموعات، مثل الأحداث التي تم تجميعها حسب المدينة. استعلام الإجماليات هو استعلام تحديد يستخدم الدالات التجميعية (مثل Group Byو Minو Maxو Countو Firstو Last) لحساب القيم لكل حقل إخراج.
قم بتضمين الحقل الذي تريد استخدامه للفئات - تجميع حسب - الحقل الذي يتضمن القيم التي تريد تلخيصها. إذا قمت بتضمين حقول إخراج أخرى ، على هذا المثال، أسماء العملاء عند إجراء تجميع حسب نوع الحدث - سيستخدم الاستعلام أيضا تلك الحقول لعمل مجموعات، وتغيير النتائج حتى لا يجيبوا عن سؤالك الأصلي. لتسمية الصفوف باستخدام حقول أخرى، يمكنك إنشاء استعلام إضافي يستخدم استعلام الإجماليات كمصدر، وإضافة الحقول الإضافية إلى ذلك الاستعلام.
تلميح: إن إنشاء الاستعلامات في الخطوات هو استراتيجية فعالة جدا للإجابة على الأسئلة الأكثر تقدما. إذا كنت تواجه مشكلة في الحصول على استعلام معقد للعمل، فدرس ما إذا كان بإمكانك تقحامه إلى سلسلة من الاستعلامات الأكثر بساطة.
إنشاء استعلام إجماليات
يستخدم هذا الإجراء الجدول النموذجي "أحداث" ونموذج جدول EventType للإجابة على هذا السؤال:
متى كان الحدث الأخير لكل نوع حدث، باستثناء الحفلات الموسيقية؟
-
على علامة التبويب إنشاء، في المجموعة استعلامات، انقر فوق تصميم الاستعلام.
-
انقر نقرا مزدوجا فوق الجدولين Events و EventType.
يظهر كل جدول في القسم العلوي من مصمم الاستعلام. -
انقر نقرا مزدوجا فوق الحقل EventType في جدول EventType والحقول EventDate من الجدول Events لإضافة الحقول إلى شبكة تصميم الاستعلام.
-
في شبكة تصميم الاستعلام، في صف المعايير في الحقل EventType، أدخل<>حفلة موسيقية.
تلميح: لمزيد من الأمثلة حول تعبيرات المعايير، راجع المقالة "أمثلة على معايير الاستعلام".
-
من علامة التبويب تصميم، في مجموعة إظهار/إخفاء، انقر فوق إجماليات.
-
في شبكة تصميم الاستعلام، انقر فوق صف الإجمالي في حقل EventDate ثم انقر فوق الحد الأقصى.
-
على علامة التبويب تصميم، في المجموعة نتائج، انقر فوق عرض، ثم انقر فوق طريقة عرض SQL.
-
في نافذة SQL، في نهاية عبارة SELECT، مباشرة بعد الكلمة الأساسية AS، استبدل MaxOfEventDate ب MostRecent.
-
احفظ الاستعلام باسم MostRecentEventByType.
إنشاء استعلام ثانٍ لإضافة المزيد من البيانات
يستخدم هذا الإجراء الاستعلام MostRecentEventByType من الإجراء السابق للإجابة على هذا السؤال:
من كان العميل في الحدث الأخير لكل نوع حدث؟
-
على علامة التبويب إنشاء، في المجموعة استعلامات، انقر فوق تصميم الاستعلام.
-
على علامة التبويب "استعلامات"، انقر نقرا مزدوجا فوق الاستعلام MostRecentEventByType.
-
على علامة التبويب "جداول"، انقر نقرا مزدوجا فوق الجدول "أحداث" ثم فوق جدول "العملاء".
-
في مصمم الاستعلام، انقر نقرا مزدوجا فوق الحقول التالية:
-
في جدول "الأحداث"، انقر نقرا مزدوجا فوق EventType.
-
في الاستعلام MostRecentEventByType، انقر نقرا مزدوجا فوق MostRecent.
-
في جدول "العملاء"، انقر نقرا مزدوجا فوق "الشركة".
-
-
في شبكة تصميم الاستعلام، في الصف "فرز" من العمود EventType، حدد "تصاعدي".
-
على علامة التبويب تصميم، في مجموعة النتائج، انقر فوق تشغيل.