توضح هذه المقالة كيفية استخدام استعلامات القيم العليا واستعلامات الإجماليات للعثور على أحدث التواريخ أو أقدمها في مجموعة من السجلات. يمكن أن يساعدك هذا في الإجابة على مجموعة متنوعة من أسئلة الأعمال، مثل متى قام العميل آخر مرة بطلب، أو أي خمسة أرباع كانت الأفضل للمبيعات، حسب المدينة.
في هذه المقالة
نظرة عامة
يمكنك ترتيب البيانات ومراجعة العناصر ذات الترتيب الأعلى باستخدام استعلام القيم العليا. استعلام القيمة العليا هو استعلام تحديد يقوم بإرجاع عدد محدد أو النسبة المئوية للقيم من أعلى النتائج، على سبيل المثال، الصفحات الخمس الأكثر شيوعا على موقع ويب. يمكنك استخدام استعلام القيم العليا مقابل أي نوع من القيم - لا يجب أن تكون أرقاما.
إذا كنت تريد تجميع بياناتك أو تلخيصها قبل ترتيبها، فلن تحتاج إلى استخدام استعلام القيم العليا. على سبيل المثال، افترض أنك تريد البحث عن أرقام المبيعات لتاريخ مُعيَّن لكل مدينة تعمل فيها شركتك. في هذه الحالة، تصبح المدن فئات (يلزم العثور على البيانات لكل مدينة)، لذا يمكنك استخدام استعلام إجماليات.
عند استخدام استعلام القيم العليا للعثور على السجلات التي تحتوي على أحدث أو أقدم التواريخ في جدول أو مجموعة من السجلات، يمكنك الإجابة عن مجموعة متنوعة من أسئلة العمل، مثل ما يلي:
-
من حقق أكبر قدر من المبيعات مؤخرا؟
-
متى قام العميل آخر مرة بوضع طلب؟
-
متى تكون أعياد الميلاد الثلاثة التالية في الفريق؟
لإنشاء استعلام قيمة أعلى، ابدأ بإنشاء استعلام تحديد. بعد ذلك، قم بفرز البيانات وفقا لسؤالك - سواء كنت تبحث عن الجزء العلوي أو السفلي. إذا كنت بحاجة إلى تجميع البيانات أو تلخيصها، فقم بتحويل استعلام التحديد إلى استعلام إجماليات. يمكنك بعد ذلك استخدام دالة تجميعية، مثل الحد الأقصى أو الحد الأدنى لإرجاع القيمة الأعلى أو الأقل، أو أولا أو الأخير لإرجاع التاريخ الأقدم أو الأحدث.
تفترض هذه المقالة أن قيم التاريخ التي تستخدمها تحتوي على نوع بيانات التاريخ/الوقت. إذا كانت قيم التاريخ موجودة في حقل نص، .
ضع في اعتبارك استخدام عامل تصفية بدلا من استعلام القيم العليا
عادة ما يكون عامل التصفية أفضل إذا كان لديك تاريخ محدد في الاعتبار. لتحديد ما إذا كان يجب إنشاء استعلام القيم العليا أو تطبيق عامل تصفية، ضع في اعتبارك ما يلي:
-
إذا كنت تريد إرجاع كافة السجلات التي يتطابق فيها التاريخ، أو قبل تاريخ معين أو أحدث منه، فاستخدم عامل تصفية. على سبيل المثال، لرؤية تواريخ المبيعات التي تمت بين شهري أبريل ويوليو، يمكنك تطبيق عامل تصفية.
-
إذا كنت تريد إرجاع كمية محددة من السجلات التي تحتوي على أحدث التواريخ أو أحدثها في حقل، ولا تعرف قيم التاريخ الدقيقة، أو لا تهم، يمكنك إنشاء استعلام القيم العليا. على سبيل المثال، لمشاهدة أفضل خمسة أرباع مبيعات، استخدم استعلام القيم العليا.
لمزيد من المعلومات حول إنشاء عوامل التصفية واستخدامها، راجع المقالة تطبيق عامل تصفية لعرض سجلات محددة في قاعدة بيانات Access.
إعداد نموذج البيانات لمتابعة الأمثلة
تستخدم الخطوات الواردة في هذه المقالة البيانات الموجودة في نماذج الجداول التالية.
جدول "الموظفون"
|
اسم العائلة |
الاسم الأول |
العنوان |
المدينة |
egion CountryOrR |
تاريخ الميلاد |
تاريخ التوظيف |
|
بدخشي |
عطاء |
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، أدخل ما يلي:MonthBorn: DatePart("m",[BirthDate]).يستخرج هذا التعبير الشهر من تاريخ الميلاد باستخدام الدالة DatePart .
-
في العمود التالي من شبكة تصميم الاستعلام، أدخل ما يلي:DayOfMonthBorn: DatePart("d",[BirthDate])يستخرج هذا التعبير يوم الشهر من BirthDate باستخدام الدالة DatePart .
-
قم بإلغاء تحديد خانات الاختيار في الصف إظهار لكل تعبير من التعبيرين اللذين أدخلتهما للتو.
-
انقر فوق الصف فرز لكل تعبير، ثم حدد تصاعدي.
-
في صف المعايير في العمود تاريخ الميلاد ، اكتب التعبير التالي:Month([تاريخ الميلاد]) > Month(Date()) OR Month([Birth Date])= Month(Date()) AND Day([Birth Date])>Day(Date())يقوم هذا التعبير بما يلي:
-
يحدد الشهر( [تاريخ الميلاد]) > Month(Date()) أن تاريخ ميلاد كل موظف يقع في شهر مستقبلي.
-
يحدد الشهر([تاريخ الميلاد])= Month(Date()) and Day([Birth Date])>Day(Date()) أنه إذا حدث تاريخ الميلاد في الشهر الحالي، يقع تاريخ الميلاد في اليوم الحالي أو بعده.
باختصار، يستبعد هذا التعبير أي سجلات يقع فيها تاريخ الميلاد بين 1 يناير والتاريخ الحالي.
تلميح: لمزيد من الأمثلة على تعبيرات معايير الاستعلام، راجع المقالة أمثلة على معايير الاستعلام.
-
-
في علامة التبويب تصميم ، في المجموعة إعداد الاستعلام ، اكتب 3 في المربع إرجاع .
-
على علامة التبويب تصميم، في مجموعة النتائج، انقر فوق تشغيل
.
ملاحظة: في الاستعلام الخاص بك باستخدام بياناتك الخاصة، قد ترى في بعض الأحيان سجلات أكثر مما حددته. إذا كانت بياناتك تحتوي على سجلات متعددة تشترك في قيمة من بين القيم العليا، فسيرجع استعلامك جميع هذه السجلات حتى لو كان ذلك يعني إرجاع سجلات أكثر مما تريد.
البحث عن التواريخ الأحدث أو الأحدث لمجموعات السجلات
يمكنك استخدام استعلام إجماليات للعثور على أقدم أو أحدث التواريخ للسجلات التي تقع في مجموعات، مثل الأحداث المجمعة حسب المدينة. استعلام الإجماليات هو استعلام تحديد يستخدم دالات تجميعية (مثل Group By وMinوMax و Count و First و Last) لحساب القيم لكل حقل إخراج.
قم بتضمين الحقل الذي تريد استخدامه للفئات - لتجميع حسب - وحقل بالقيم التي تريد تلخيصها. إذا قمت بتضمين حقول إخراج أخرى - على سبيل المثال، أسماء العملاء عند التجميع حسب نوع الحدث - فسيستخدم الاستعلام أيضا هذه الحقول لإنشاء مجموعات، وتغيير النتائج حتى لا يجيبوا على سؤالك الأصلي. لتسمية الصفوف باستخدام حقول أخرى، يمكنك إنشاء استعلام إضافي يستخدم استعلام الإجماليات كمصدر، وإضافة الحقول الإضافية إلى هذا الاستعلام.
تلميح: يعد بناء الاستعلامات في الخطوات استراتيجية فعالة جدا للإجابة على الأسئلة الأكثر تقدما. إذا كنت تواجه مشكلة في الحصول على استعلام معقد للعمل، ففكر في ما إذا كان يمكنك تقسيمه إلى سلسلة من الاستعلامات الأبسط.
إنشاء استعلام إجماليات
يستخدم هذا الإجراء جدول نموذج الأحداث وجدولنموذج EventType للإجابة عن هذا السؤال:
متى كان الحدث الأخير لكل نوع حدث، باستثناء الحفلات الموسيقية؟
-
على علامة التبويب إنشاء، في المجموعة استعلامات، انقر فوق تصميم الاستعلام.
-
انقر نقرا مزدوجا فوق جدولي الأحداث و EventType. يظهر كل جدول في القسم العلوي من مصمم الاستعلام.
-
انقر نقرا مزدوجا فوق حقل EventType لجدول EventType وحقل EventDate من جدول الأحداث لإضافة الحقول إلى شبكة تصميم الاستعلام.
-
في شبكة تصميم الاستعلام، في صف المعايير لحقل EventType ، أدخل <>Concert.
تلميح: لمزيد من الأمثلة على تعبيرات المعايير، راجع المقالة أمثلة على معايير الاستعلام.
-
من علامة التبويب تصميم، في مجموعة إظهار/إخفاء، انقر فوق إجماليات.
-
في شبكة تصميم الاستعلام، انقر فوق الصف الإجمالي لحقل EventDate ثم انقر فوق الحد الأقصى.
-
على علامة التبويب تصميم، في المجموعة نتائج، انقر فوق عرض، ثم انقر فوق طريقة عرض SQL.
-
في نافذة SQL، في نهاية عبارة SELECT، مباشرة بعد الكلمة الأساسية AS، استبدل MaxOfEventDate ب MostRecent.
-
احفظ الاستعلام باسم MostRecentEventByType.
إنشاء استعلام ثانٍ لإضافة المزيد من البيانات
يستخدم هذا الإجراء استعلام MostRecentEventByType من الإجراء السابق للإجابة على هذا السؤال:
من كان العميل في أحدث حدث لكل نوع حدث؟
-
على علامة التبويب إنشاء، في المجموعة استعلامات، انقر فوق تصميم الاستعلام.
-
في علامة التبويب Queries ، انقر نقرا مزدوجا فوق استعلام MostRecentEventByType.
-
في علامة التبويب جداول ، انقر نقرا مزدوجا فوق جدول الأحداث وجدول العملاء.
-
في مصمم الاستعلام، انقر نقرا مزدوجا فوق الحقول التالية:
-
في جدول الأحداث، انقر نقرا مزدوجا فوق EventType.
-
في استعلام MostRecentEventByType، انقر نقرا مزدوجا فوق MostRecent.
-
في جدول العملاء، انقر نقرا مزدوجا فوق الشركة.
-
-
في شبكة تصميم الاستعلام، في صف فرز عمود EventType ، حدد تصاعدي.
-
على علامة التبويب تصميم، في مجموعة النتائج، انقر فوق تشغيل.