ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
في هذا البرنامج التعليمي ، ستتعرف على تقنيات ضغط LuckyTemplates المختلفة في التي تساعد في تحسين تقريرك.
بعد تحميل البيانات مقطعًا تلو الآخر بواسطة خدمات التحليل في LuckyTemplates Power Pivot و SSAS ، يقع حدثان. الأول هو أنهم يحاولون استخدام طرق تشفير مختلفة لضغط الأعمدة لتقليل الحجم الكلي لذاكرة الوصول العشوائي . والثاني هو أنهم يحاولون تمويل أفضل ترتيب فرز يضع قيمًا متكررة معًا. تعمل هذه الطريقة أيضًا على زيادة الضغط وبالتالي تقليل الضغط على الذاكرة.
هناك تقنيات ضغط مختلفة تستخدمها خدمات التحليل. يغطي هذا البرنامج التعليمي ثلاث طرق ، على وجه الخصوص ، ترميز القيمة ، تشفير طول التشغيل ، وتشفير القاموس. في القسم الأخير من هذا البرنامج التعليمي ، سيغطي كيفية فرز أعمال الترتيب في خدمات التحليل.
جدول المحتويات
تقنية ضغط LuckyTemplates # 1: ترميز القيمة
الأول يسمى ترميز القيمة.
يبحث ترميز القيمة عن علاقة رياضية بين كل قيمة في عمود لتقليل الذاكرة. هذا مثال في Microsoft Excel:
يتطلب هذا العمود 16384 بتًا لتخزين القيم.
لحساب البتات المطلوبة ، استخدم أولاً وظيفة MAX () في Excel للحصول على أعلى قيمة في الأعمدة. في هذه الحالة ، يكون الرقم 9144. ثم استخدم الدالة POWER () لحساب وحدات البت المطلوبة. استخدم الوسيطة POWER (2، X) حيث X هي أي قيمة موجبة سترجع إجابة أكبر من قيمة MAX. X ، في هذه الحالة ، يمثل أيضًا البتات المطلوبة. إذن في هذا المثال ، قيمة X هي 14 مما ينتج عنها 16384 . لذلك ، يتطلب العمود 14 بتًا من التخزين.
لتقليل البتات المطلوبة باستخدام Value Encoding ، يبحث VertiPaq عن قيمة MIN في العمود ويطرحها من كل قيمة. في هذه الحالة ، قيمة MIN في العمود هي 9003. إذا طرحت هذا من العمود ، فستعيد هذه القيم:
باستخدام نفس الدوال والوسيطات ، يمكنك أن ترى أن قيمة MAX للعمود الجديد هي 141. واستخدام 8 كقيمة X ينتج عنه 256 . لذلك ، لا يتطلب العمود الجديد سوى 8 بتات.
يمكنك أن ترى كيف يتم مقارنة الثانية المضغوطة بالعمود الأول.
بمجرد ضغط البيانات ومحاولة الاستعلام عن العمود الجديد ، يقوم Storage Engine أو Vertipaq بمسح هذا العمود. لن يقوموا ببساطة بإرجاع القيم الجديدة للعمود. بدلاً من ذلك ، يضيفون القيمة المطروحة قبل إرجاع النتيجة إلى المستخدم.
ومع ذلك ، فإن ترميز القيمة يعمل فقط على الأعمدة التي تحتوي على أعداد صحيحة أو قيم ذات أرقام عشرية ثابتة.
تقنية ضغط LuckyTemplates # 2: تشغيل طول الترميز
تسمى طريقة الترميز الثانية Run Length Encoding.
يُنشئ Run Length Encoding بنية بيانات تحتوي على القيمة المميزة وعمود Start وعمود Count.
لنأخذ مثالاً:
في هذه الحالة ، تحدد أن هناك قيمة حمراء واحدة متاحة في الصف الأول. ثم يكتشف أن قيمة الأسود تبدأ في الصف الثاني ومتاحة للخلايا الأربع التالية. تنتقل إلى القيمة الثالثة ، الأزرق ، والتي تبدأ من الصف السادس ومتاحة للصفوف الثلاثة التالية. ويستمر هذا حتى يصل إلى آخر قيمة في العمود.
لذلك بدلاً من تخزين العمود بأكمله ، فإنه ينشئ بنية بيانات تحتوي فقط على معلومات حول مكان بدء قيمة معينة وأين تنتهي ، وعدد التكرارات التي تحتوي عليها.
بالنسبة للأعمدة التي لها نفس البنية ، يمكن ضغط البيانات بشكل أكبر عن طريق ترتيب القيم إما بترتيب تصاعدي أو تنازلي.
باستخدام هذا العمود الذي تم فرزه بشكل صحيح ، يمكنك أن ترى أن طريقة Run Length Encoding تُرجع الآن بنية بيانات ذات صف واحد أقل.
لذلك إذا كنت تتعامل مع العديد من القيم المميزة ، فمن المستحسن فرز العمود بأفضل طريقة ممكنة. سيعطيك هذا بنية بيانات ذات صفوف أصغر والتي بدورها تشغل ذاكرة وصول عشوائي أقل.
لا يمكن تطبيق Run Length Encoding على المفاتيح الأساسية لأن أعمدة المفاتيح الأساسية تحتوي فقط على قيم فريدة. لذلك بدلاً من تخزين صف واحد لكل قيمة ، سيتم تخزين العمود كما هو.
تقنية ضغط LuckyTemplates # 3: ترميز القاموس
طريقة الترميز الثالثة تسمى ترميز القاموس.
ينشئ "ترميز القاموس " بنية تشبه القاموس تحتوي على القيمة المميزة للعمود. كما يقوم بتعيين فهرس لتلك القيمة الفريدة.
باستخدام المثال السابق ، دعنا نلقي نظرة على كيفية عمل ترميز القاموس. في هذه الحالة ، يتم تعيين فهرس للقيم الأحمر والأسود والأزرق 0 و 1 و 2 على التوالي.
ثم يقوم بإنشاء بنية بيانات مماثلة لتلك الخاصة بـ Run Length Encoding. ومع ذلك ، بدلاً من تخزين القيم الفعلية ، يقوم Dictionary Encoding بتخزين الفهرس المخصص لكل قيمة.
هذا يقلل من ذاكرة الوصول العشوائي المستهلكة لأن الأرقام تشغل مساحة أقل من قيم السلسلة.
يجعل ترميز القاموس أيضًا نوع البيانات الجدولية مستقلاً. أي ، بغض النظر عما إذا كان لديك عمود يمكن تخزينه في أنواع بيانات مختلفة ، فلن يكون ذلك مهمًا لأن بنية البيانات ستخزن قيمة الفهرس فقط.
ومع ذلك ، حتى إذا كان نوع البيانات مستقلاً ، فسيظل له تأثير على حجم القاموس. اعتمادًا على نوع البيانات الذي تختاره لحفظ العمود فيه ، سيتقلب حجم القاموس (أو بنية البيانات). لكن حجم العمود نفسه سيبقى كما هو.
بناءً على نوع البيانات التي ستختارها ، بمجرد تطبيق Dictionary Encoding على العمود ، يمكن تطبيق Run Length Encoding بعد ذلك.
في هذه الحالة ، ستنشئ خدمات التحليل بنيتين للبيانات. سيقوم أولاً بإنشاء قاموس ثم تطبيق Run Length Encoding عليه لزيادة ضغط العمود.
ترتيب الفرز في خدمات التحليل
في الجزء الأخير من هذا البرنامج التعليمي ، دعنا نناقش كيف تقرر خدمات التحليل الطريقة المثلى لفرز البيانات.
كمثال ، دعنا نلقي نظرة على عمود يحتوي على قيم الأحمر والأزرق والأسود والأخضر والوردي. تم تخصيص الأرقام من 1 إلى 5 لهم أيضًا. هذا بمثابة قاموس عمودنا.
الآن ، املأ عمودًا كاملاً في Excel بهذه القيم. استخدم هذه الوسيطة لإنشاء عمود يحتوي على هذه القيم بشكل عشوائي.
اسحب الصيغة إلى الصف الأخير. انقر فوق "موافق" إذا ظهرت نافذة عملية كبيرة المنبثقة. هذا ما سيبدو عليه الآن:
بعد ذلك ، انسخ العمود بأكمله والصقه كقيمة .
الآن إذا انتقلت إلى خيار ملف في مستند Excel الخاص بك وانقر فوق معلومات ، يمكنك أن ترى أن العمود يستهلك 14.1 ميجا بايت .
لتقليل مقدار ذاكرة الوصول العشوائي المستهلكة ، يمكنك فرز العمود من الألف إلى الياء. إذا قمت بفحص الحجم مرة أخرى ، يمكنك أن ترى أنه تم تقليله إلى 12.5 ميجابايت .
قد لا يبدو تقليل 1.9 ميغابايت كثيرًا. هذا لأن المثال استخدم عمودًا واحدًا في Excel للتوضيح. يقتصر Excel على مليون صف فقط. ومع ذلك ، في LuckyTemplates ، يمكن أن تحتوي بياناتك على مليارات من الصفوف والأعمدة. ينمو تقليل المساحة المستخدمة بشكل كبير.
خاتمة
بمجرد فرز بياناتك بالطريقة المثلى ، تطبق خدمات التحليل أيًا من تقنيات الضغط الثلاثة اعتمادًا على نوع البيانات.
يؤدي القيام بذلك إلى زيادة ضغط بياناتك مما يقلل بشكل كبير من مقدار الذاكرة المستهلكة في جهازك. هذا يجعل تقريرك أكثر مثالية مما يسهل تشغيله وتحميله.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته