انشاء "نموذج بيانات" مع ذاكره عاليه الكفاءه استخدام Excel و# الوظيفه الاضافيه Power Pivot

هام: تمت ترجمة هذه المقالة ترجمة آلية، راجع إقرار إخلاء المسؤولية. يرجى الاطلاع على النسخة الإنجليزية من هذه المقالة. هنا للرجوع إليها.

في Excel 2013 او اصدار لاحق، يمكنك انشاء نماذج البيانات التي تحتوي علي الملايين من الصفوف، و# قم ب# اجراء التحليل الفعال ل# البيانات من نماذج هذه. يمكنك انشاء نماذج بيانات مع او ب# دون ان Power Pivot الوظيفه الاضافيه ل# دعم اي عدد من PivotTables و# المخططات و# مرئيات Power View في المصنف نفسه.

ملاحظة: تصف هذه المقالة نماذج البيانات في Excel 2013. على الرغم من ذلك، تطبق نفس نماذج البيانات وميزات Power Pivot في Excel 2013 على Excel 2016. يوجد اختلافاً صغيراً فعالاً بين هذه الإصدارات من Excel.

علي الرغم من انه يمكنك ب# سهوله انشاء نماذج بيانات كبير جدا في Excel، عده اسباب لا توجد الي. نماذج الاول، و# الكبيره التي تحتوي علي مولتيتوديس ل# الجداول و# الاعمده أوفيركيل ل# تحليلات معظم، و# اجراء ل# "قائمه الحقول" بطيئا. استخدام نماذج الثاني، و# كبيره ذاكره قيمه، سلبيه التاثير علي التقارير التي مشاركه نفس موارد النظام و# التطبيقات الاخري. و# اخيرا، في Office 365، و# تحديد كل من SharePoint Online و Excel Web App حجم ملف Excel الي 10 ميغابايت. ل# نماذج بيانات المصنفات التي تحتوي علي الملايين من الصفوف، ستواجه 10 ميغابايت حد العروض ب# سرعه. انظر مواصفات "نماذج البيانات" و# قيودها.

في هذه المقالة، ستتعرّف على كيفية إنشاء نموذج مبني بإحكام يمكن استخدامه بسهولة أكبر ويستهلك مساحة أقل من الذاكرة. سيؤدي تخصيص الوقت الكافي للتعرّف على أفضل الممارسات على صعيد تصميم نموذج فعال إلى الحصول على نتائج إيجابية بالنسبة إلى أي نموذج تقوم بإنشائه واستخدامه، سواء كنت تعرضه في Excel 2013 أو Office 365 SharePoint Online أو Office Online Server أو في SharePoint 2013.

ضع في اعتبارك ايضا ب# تشغيل "محسن حجم المصنفات". تحليل مصنف Excel و، اذا امكن ذلك يضغط شكل اكبر. قم ب# تنزيل محسن حجم المصنفات.

في هذه المقالة

نسب الضغط و# محرك التحليل المضمن داخل الذاكره

لا شيء يفوق عمود غير موجود في الاستخدام المنخفض ل# الذاكره

مثالان عن الاعمده التي يجب استبعاد دوما

كيفيه استبعاد اعمده غير ضروريه

ماذا عن تصفيه الصفوف الضروريه فقط؟

ماذا لو كنا ب# حاجه العمود؛ هل يمكننا يمكن تنفيذه ل# تقليل المساحه التي يشغلها؟

تعديل اعمده التاريخ / الوقت

تعديل استعلام SQL

استخدام DAX القياسات بدلا من الاعمده المحسوبه

اي عمودين يجب الاحتفاظ بهما؟

الخاتمه

ارتباطات ذات صله

نسب الضغط ومحرك التحليل المُضمن داخل الذاكرة

تستخدم نماذج البيانات في Excel محرك التحليل المُضمن داخل الذاكرة لتخزين البيانات في الذاكرة. يقوم المحرك بتطبيق أساليب ضغط فعّالة لتقليل متطلبات التخزين، مما يؤدي إلى تقليص مجموعة النتائج حتى تشكّل كسراً من حجمها الأصلي.

في المتوسط، بإمكانك التوقع بأن يكون حجم نموذج البيانات أصغر بمقدار 7 أو 10 مرات من البيانات نفسها عند مصدرها. على سبيل المثال، إذا كنت بصدد استيراد 7 ميغابايت من البيانات من قاعدة بيانات SQL Server، فبإمكان حجم نموذج البيانات في Excel أن يكون ميغابايت واحد أو أقل بسهولة. بشكل أساسي، تتوقف درجة الضغط التي تم تحقيقها فعلياً على عدد القيم الفريدة في كل عمود. بقدر ما يكون عدد القيم الفريدة كبيراً، تزداد كمية الذاكرة المطلوبة لتخزينها.

ما السبب الذي يدعونا إلى التحدّث عن الضغط والقيم الفريدة؟ لأن بناء نموذج فعال يقلّل من استخدام الذاكرة يتعلق بالحد الأقصى للضغط، وأسهل طريقة لإجراء ذلك هي التخلص من أي أعمدة لا تحتاج إليها بالفعل، خاصة إذا كانت تلك الأعمدة تتضمّن عدداً كبيراً من القيم الفريدة.

ملاحظة: قد تكون الاختلافات في متطلبات التخزين للأعمدة الفردية ضخمة. في بعض الحالات، يُستحسن وجود عدة أعمدة مع عدد قليل من القيم الفريدة بدلاً من عمود واحد يتضمّن عدداً كبيراً من القيم الفريدة. يتناول قسم تحسينات التاريخ والوقت هذا الأسلوب بطريقة تفصيلية.

لا شيء يفوق إمكانيات عمود غير موجود في الاستخدام المنخفض للذاكرة

إن أكثر عمود يتميز بكفاءة في استخدام الذاكرة هو العمود الذي لم تستورده إطلاقاً في المقام الأول. إذا كنت تريد إنشاء نموذج بيانات فعال، فانظر إلى كل عمود واسأل نفسك إن كان يساهم في التحليل الذي تريد تنفيذه. إذا لم يكن كذلك أو إذا كنت غير متأكد، فاتركه خارج هذا النطاق. يمكنك إضافة الأعمدة في وقت لاحق إذا احتجت إليها.

مثالان لأعمدة يجب استبعادها دائماً

يتعلق المثال الأول ببيانات مصدرها مستودع بيانات. في مستودع بيانات، من الشائع العثور على بيانات اصطناعية لعمليات ETL التي تقوم بتحميل البيانات وتحديثها في المستودع. يتم إنشاء أعمدة مثل "تاريخ الإنشاء" و"تاريخ التحديث" و"تشغيل ETL" عند تحميل البيانات. لا حاجة إلى أي عمود من هذه الأعمدة في النموذج ويجب إلغاء تحديدها عند استيراد البيانات.

يتضمّن المثال التالي حذف عمود المفتاح الأساسي عند استيراد جدول حقائق.

يتضمّن العديد من الجداول، بما فيها جداول الحقائق، مفاتيح أساسية. بالنسبة إلى معظم الجداول، كتلك التي تحتوي على بيانات العملاء أو الموظفين أو المبيعات، ستحتاج إلى استخدام المفتاح الأساسي للجدول لإنشاء العلاقات في النموذج.

تُعد جداول الحقائق مختلفة. في جدول الحقائق، يُستخدم المفتاح الأساسي لتعريف كل صف بشكل فريد. على الرغم من أنه ضروري لأغراض التسوية، إلا أن فائدته قليلة في نموذج بيانات تريد فيه استخدام تلك الأعمدة فقط للتحليل أو لإنشاء علاقات الجدول. ولهذا السبب، عند استيراد جدول الحقائق، لا تضمّن مفتاحه الأساسي. فالمفاتيح الأساسية في جدول الحقائق تستهلك كميات ضخمة من المساحة في النموذج، ولا توفر أي فائدة، إذ لا يمكن استخدامها لإنشاء العلاقات.

ملاحظة: في مستودعات البيانات وقواعد البيانات المتعددة الأبعاد، يُشار في معظم الأحيان إلى الجداول الكبيرة المؤلفة في معظمها من بيانات رقمية باسم "جداول الحقائق". تتضمّن جداول الحقائق عادةً بيانات عن أداء العمل أو المعاملات، مثل نقاط بيانات المبيعات والتكلفة المجمّعة والتي تتوازى مع الوحدات التنظيمية والمنتجات وقطاعات السوق والمناطق الجغرافية وغير ذلك. بالنسبة إلى كل أعمدة جدول الوقائع التي تحتوي على بيانات العمل أو التي يمكن استخدامها لإنشاء إسناد ترافقي إلى البيانات المخزنة في جداول أخرى، يجب تضمينها في النموذج لدعم تحليل البيانات. العمود الذي ترغب في استبعاده هو عمود المفتاح الأساسي في جدول الحقائق، الذي يتألف من قيم فريدة موجودة فقط في جدول الحقائق وليس في أي مكان آخر. ونظراً لكون جداول الحقائق شديدة الضخامة، فإن بعض أهم المكاسب في فعالية النموذج تشتق من استبعاد الصفوف أو الأعمدة من جداول الحقائق.

كيفية استبعاد أعمدة غير ضرورية

تحتوي نماذج الكفاءه علي الاعمده التي ستحتاج اليها فعليا في المصنف الخاص بك فقط. اذا كنت تريد التحكم في الاعمده التي يتم تضمينها في النموذج، ف# ستحتاج الي استخدام "معالج استيراد الجدول" في Power Pivot الوظيفه الاضافيه ل# استيراد البيانات بدلا من مربع الحوار "استيراد بيانات" في Excel.

عندما تبدأ بتشغيل معالج استيراد الجدول، ستحدد الجداول المطلوب استيرادها.

معالج استيراد الجدول في الوظيفة الإضافية PowerPivot

لكل جدول، يمكنك النقر فوق الزر "معاينة وتصفية" وتحديد أجزاء الجدول التي تحتاج إليها بالفعل. إننا ننصحك بأن تقوم أولاً بإلغاء تحديد كل الأعمدة، ثم متابعة تحديد الأعمدة المطلوبة، بعد الأخذ في الاعتبار ما إذا كانت مطلوبة لإجراء التحليل.

جزء المعاينة في معالج استيراد الجدول

ماذا عن تصفية الصفوف الضرورية فقط؟

يحتوي عدد كبير من الجداول في قواعد بيانات الشركات ومستودعات البيانات على بيانات تاريخية تتراكم على مدى فترات زمنية طويلة. علاوةً على ذلك، قد يتبيّن لك أن الجداول التي تثير اهتمامك تحتوي على معلومات خاصة بنواحي الأعمال التي لا تحتاج إليها لعملية التحليل المعينة التي تريد تنفيذها.

باستخدام معالج استيراد الجدول، يمكنك تصفية البيانات التاريخية أو البيانات التي لا صلة لها، وبالتالي توفير كمية كبيرة من المساحة في النموذج. في الصورة التالية، يتم استخدام عامل تصفية التاريخ لاسترداد فقط تلك الصفوف التي تحتوي على بيانات للسنة الحالية، واستثناء البيانات التاريخية التي لن تحتاج إليها.

جزء التصفية في معالج استيراد الجدول

ماذا لو كنا بحاجة إلى العمود، هل هناك إجراء يمكن تنفيذه لتقليل المساحة التي يشغلها؟

توجد بعض الأساليب الإضافية التي يمكنك تطبيقها لتحويل أحد الأعمدة إلى مرشح جيد للضغط. تذكّر أن المواصفة الوحيدة للعمود التي تؤثر في الضغط هي عدد القيم الفريدة فيه. في هذا القسم، ستتعرّف على كيفية تعديل بعض الأعمدة لتقليل عدد القيم الفريدة.

تعديل أعمدة التاريخ/الوقت

في حالات عديدة، تحتل أعمدة التاريخ/الوقت الكثير من المساحة. لحسن الحظ، هناك بعض الطرق لتقليل متطلبات التخزين لهذا النوع من البيانات. ستختلف الأساليب تبعاً لكيفية استخدام العمود، ومستوى راحتك في إنشاء استعلامات SQL.

تتضمّن أعمدة التاريخ/الوقت جزء تاريخ ووقت. عندما تتساءل إن كنت بحاجة إلى عمود، اطرح السؤال نفسه مرات عديدة إن كان الأمر يتعلق بعمود التاريخ/الوقت:

  • هل أحتاج إلى جزء الوقت؟

  • هل أحتاج إلى جزء الوقت على مستوى الساعات؟، الدقائق؟، الثواني؟، ميليات الثواني؟

  • هل لدي عدة أعمدة تاريخ/وقت لأنني أريد حساب الفرق بينها، أو فقط لتجميع التاريخ حسب السنة والشهر وربع السنة وغير ذلك.

تحدد إجابتك عن كل سؤال من هذه الأسئلة خياراتك في التعامل مع عمود التاريخ/الوقت.

تحتاج كل هذه الحلول إلى تعديل استعلام SQL. لتسهيل عملية تعديل الاستعلام، يجب تصفية عمود واحد على الأقل في كل جدول. من خلال تصفية عمود، ستقوم بتغيير بنية الاستعلام من التنسيق المختصر (* SELECT) إلى جملة SELECT التي تتضمّن أسماء أعمدة مؤهلة بشكل كامل، يمكن تعديلها بسهولة أكبر.

فلنلقِ نظرة على الاستعلامات التي يتم إنشاؤها. من مربع الحوار "خصائص الجدول"، يمكنك التبديل إلى محرر الاستعلام ورؤية استعلام SQL الحالي لكل جدول.

الشريط في نافذة Power Pivot يعرض الأمر "خصائص الجدول"

من "خصائص الجدول"، حدد محرر الاستعلام.

فتح "محرر الاستعلام" من مربع الحوار "خصائص الجدول"

يعرض "محرر الاستعلام" استعلام SQL المستخدم لتعبئة الجدول. إذا قمت بتصفية أي عمود أثناء عملية الاستيراد، فسيتضمّن استعلامك أسماء أعمدة مؤهلة بشكل كامل:

استعلام SQL المستخدم لاسترداد البيانات

في المقابل، إذا قمت باستيراد جدول بكامله، دون إلغاء تحديد أي عمود أو تطبيق أي عامل تصفية، فسترى الاستعلام على أنه " Select * from"، وسيكون تعديله أكثر صعوبة:

استعلام SQL يستخدم بناء الجملة الافتراضية الأقصر

تعديل استعلام SQL

الآن وقد أصبحت ملماً بكيفية العثور على الاستعلام، يمكنك تعديله لتصغير حجم النموذج.

  1. بالنسبة إلى الأعمدة التي تحتوي على عملات أو بيانات رقمية، إذا لم تكن بحاجة إلى الأرقام العشرية، فاستخدم بناء الجملة هذا للتخلص منها:

    ‎“SELECT ROUND([Decimal_column_name],0)… .”‎

    إذا كنت بحاجة إلى السنتات وليس كسور السنتات، فاستبدل 0 بـ 2. إذا كنت تستخدم أرقاماً سالبة، فيمكنك تدويرها إلى وحدات وأعشار ومئات وغير ذلك.

  2. إذا كان لديك عمود تاريخ/وقت مسمى dbo.Bigtable.[Date Time]‎، ولم تكن بحاجة إلى جزء الوقت، فاستخدم بناء الجملة للتخلص من الوقت:

    ‎“SELECT CAST (dbo.Bigtable.[Date time] as date) AS [Date time]) “‎

  3. إذا كان لديك عمود تاريخ/وقت مسمى dbo.Bigtable.[Date Time]‎، وكنت بحاجة إلى جزء الوقت وجزء التاريخ، فاستخدم أعمدة متعددة في استعلام SQL بدلاً من عمود التاريخ/الوقت الفردي:

    ‎“SELECT CAST (dbo.Bigtable.[Date Time] as date ) AS [Date Time],‎

    datepart(hh, dbo.Bigtable.[Date Time]) as [Date Time Hours],‎

    datepart(mi, dbo.Bigtable.[Date Time]) as [Date Time Minutes],‎

    datepart(ss, dbo.Bigtable.[Date Time]) as [Date Time Seconds],‎

    datepart(ms, dbo.Bigtable.[Date Time]) as [Date Time Milliseconds]”‎

    استخدم العدد الذي تريده من الأعمدة لتخزين كل جزء في أعمدة منفصلة.

  4. إذا كنت تحتاج إلى الساعات والدقائق، وكنت تفضل تجميعها معاً كعمود وقت واحد، فيمكنك استخدام بناء الجملة التالي:

    Timefromparts(datepart(hh, dbo.Bigtable.[Date Time]), datepart(mm, dbo.Bigtable.[Date Time])) as [Date Time HourMinute]

  5. إذا كان لديك عمود تاريخ/وقت، مثل [Start Time] و[End Time]، وما تحتاج إليه فعلاً هو فرق الوقت بينهما بالثواني كعمود مسمى [Duration]، فيمكنك إزالة العمودين من القائمة وإضافة:

    ‎“datediff(ss,[Start Date],[End Date]) as [Duration]”‎

    إذا كنت تستخدم الكلمة الأساسية ms بدلاً من ss، فستحصل على المدة بميليات الثواني

استخدام القياسات المحسوبة لـ DAX بدلاً من الأعمدة

إذا سبق لك العمل مع لغة تعبيرات DAX، فأنت تعلم أن استخدام الأعمدة المحسوبة يتم بحيث تنحدر أعمدة جديدة بالاستناد إلى بعض الأعمدة الأخرى في النموذج، في حين يتم تعريف القياسات المحسوبة مرة واحدة في النموذج، ولكن يتم تقييمها فقط عند استخدامها في جدول PivotTable أو تقرير آخر.

يوجد أسلوب لتوفير الذاكرة ويقضي باستبدال الأعمدة العادية أو المحسوبة بالقياسات المحسوبة. المثال الكلاسيكي هو سعر الوحدة، والكمية والإجمالي. إذا كانت الأعمدة الثلاثة كلها متوفرة لديك، فيمكنك توفير المساحة عبر الاحتفاظ بعمودين فقط وحساب الثالث باستخدام DAX.

أي عمودين يجب الاحتفاظ بهما؟

في المثال أعلاه، احتفظ بالكمية وسعر الوحدة. يتضمّن هذان العمودان قيماً أقل من عمود الإجمالي. لحساب الإجمالي، أضف قياساً محسوباً كالتالي:

‎“TotalSales:=sumx(‘Sales Table’,’Sales Table’[Unit Price]*’Sales Table’[Quantity])”‎

إن الأعمدة المحسوبة مماثلة للأعمدة العادية حيث أن نوعي الأعمدة يحتلان مساحة في النموذج. في المقابل، يتم حساب القياسات المحسوبة بسرعة ولا تحتل أي مساحة.

الخاتمة

لقد ناقشنا في هذه المقالة عدة أساليب من شأنها مساعدتك على إنشاء نموذج يتميز بكفاءة في استخدام الذاكرة. يمكن تصغير حجم الملف ومتطلبات الذاكرة لنموذج البيانات بتصغير العدد الإجمالي للأعمدة والصفوف، وعدد القيم الفريدة التي تظهر في كل عمود. فيما يلي بعض الأساليب التي ناقشناها:

  • إن أفضل طريقة لتوفير المساحة هي إزالة الأعمدة. حدد الأعمدة التي تحتاج إليها فعلياً.

  • في بعض الأحيان، يمكنك إزالة عمود واستبداله بقياس محسوب في الجدول.

  • قد لا تحتاج إلى كل الصفوف في الجدول. يمكنك تصفية الصفوف في معالج استيراد الجدول.

  • بشكل عام، يُعد تقسيم عمود واحد إلى عدة أجزاء مميزة طريقة جيدة لتقليل عدد القيم الفريدة في عمود. سيتضمّن كل جزء من هذه الأجزاء عدداً صغيراً من القيم الفريدة، وسيكون الإجمالي المدمج أصغر من العمود الموحد الأصلي.

  • في العديد من الحالات، قد تحتاج أيضاً إلى أجزاء مميزة لاستخدامها كمقسمات طرق عرض في تقاريرك. عندما يكون الأمر ملائماً، يمكنك إنشاء تسلسلات هيكلية من أجزاء كالساعات والدقائق والثواني.

  • في الكثير من الأحيان، تحتوي الأعمدة على كمية من المعلومات تفوق ما تحتاج إليه. على سبيل المثال، لنفترض أن أحد الأعمدة يخزّن الأرقام العشرية، ولكنك قمت بتطبيق تنسيق لإخفاء كل الأرقام العشرية. قد يكون تقريب الأرقام شديد الفعالية في تصغير حجم عمود رقمي.

الان و# قد قمت بها ما يمكنك ل# تقليل حجم المصنف الخاص بك، ف# يمكنك ايضا تشغيل "محسن حجم المصنفات". تحليل مصنف Excel و، اذا امكن ذلك يضغط شكل اكبر. قم ب# تنزيل محسن حجم المصنفات.

ارتباطات ذات صلة

مواصفات نموذج البيانات وحدوده

تنزيل محسن حجم المصنفات

Power Pivot: التحليل الفعال ل# البيانات و# انشاء نماذج بيانات في Excel

ملاحظة: إقرار إخلاء المسؤولية للترجمة الآلية: تمت ترجمة هذه المقالة بواسطة نظام كمبيوتر دون تدخل العامل البشري. توفر Microsoft هذه الترجمات الآلية لمساعدة المستخدمين الذين لا يتحدثون الإنجليزية على استخدام منتجات Microsoft، وخدماتها، وتقنياتها والاستمتاع بها. قد تحتوي هذه المقالة على أخطاء في المفردات، أو بناء الجملة، أو القواعد نظرًا لترجمتها آليًا.

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×