ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
في هذا البرنامج التعليمي ، سنغطي الاختلاف في كيفية عمل فهرسة البيانات في قاعدة بيانات علائقية مقابل في Vertipaq.
تقوم قواعد البيانات العلائقية بتخزين البيانات على أساس صف بصف. من ناحية أخرى ، يقوم Vertipaq بذلك عمودًا بعد عمود.
دعونا نرى كيف يمكن أن تؤثر هاتان الطريقتان لتخزين البيانات وفهرستها على عملية تطوير التقرير خاصة عند تشغيل استعلاماتك.
جدول المحتويات
فهرسة البيانات لكل صف
يعد تخزين البيانات صفًا تلو الآخر الطريقة التقليدية لتخزين البيانات. ومع ذلك ، تستغرق هذه العملية مزيدًا من الوقت ، مما سيؤثر على أداء استعلامك.
لنفترض أن لدينا جدولًا يحتوي على العلامة التجارية واللون والجن�� والكمية والسعر الصافي.
إذا قمنا بتخزين كل شيء في هذا الجدول في قاعدة بيانات ، فسنقوم بتخزين البيانات في كل صف على حدة. لهذا السبب يُطلق على بنية تخزين البيانات التقليدية أيضًا اسم متجر الصف.
أولاً ، في نفس السطر ، سيتم تخزين رؤوس الأعمدة الموجودة في الصف الأول - العلامة التجارية ، واللون ، والجنس ، والكمية ، والسعر الصافي. ثم ينتقل إلى السطر التالي لتخزين العناصر الأولى تحت كل عمود - A. Datum و Azure و فارغ و 1 و 103.2. يستمر هذا صفا بعد صف.
إذن كيف سنحسب مجموع باستخدام طريقة فهرسة البيانات هذه؟
أولاً ، يبدأ بالصف الأول الذي يحتوي على رؤوس الأعمدة. بعد ذلك ، ينتقل إلى السطر التالي ويتخطى أجزاء البيانات الأخرى حتى يصل إلى الكمية الأولى التي يراها ، وهي 1. ثم ينتقل من سطر إلى آخر ، ويمر عبر جميع البيانات التي يحتوي عليها كل صف ويجمع كل البيانات. الكميات يجد.
بمجرد أن يضع جانباً جميع الكميات من كل صف ، فهذه هي المرة الوحيدة التي يتم فيها إكمال الحساب.
ربما يمكنك تخيل مدى مملة العملية إذا كنت تقوم بإعداد تقرير LuckyTemplates يستخدم اتصال DirectQuery بمصدر بيانات SQL. في هذه الحالة ، ستقوم خدمات التحليل بتحويل كود DAX إلى لغة SQL ، ثم البدء في تصفح بنية البيانات صفًا تلو الآخر.
فهرسة البيانات لكل عمود
لتجنب العملية الطويلة المتضمنة ، لديك خيار تخزين البيانات على أساس عمود بعمود من خلال Vertipaq عندما تختار وضع الاستيراد.
عند استخدام مخزن الأعمدة بدلاً من مخزن الصفوف ، سيتم تخزين كل من العلامة التجارية واللون والجنس والكمية والسعر الصافي في هياكل بيانات مختلفة.
لنفترض أننا نريد الحصول على مجموع القيم في عمود الكمية. لن تكون هناك حاجة إلى المرور عبر العلامة التجارية واللون وأجزاء أخرى من البيانات خارج عمود الكمية. في مسح واحد ، يقرأ عمود الكمية بالكامل من أعلى إلى أسفل ويلخص جميع القيم.
لهذا السبب ، سيتم تنفيذ الاستعلامات بشكل أسرع مقارنة بالقيام بذلك من اليسار إلى اليمين.
مقارنة وقت التنفيذ في استعلامات بسيطة
لمعرفة الفرق الكبير بين مخزن الصفوف ومخزن الأعمدة ، دعنا نجري بعض استعلامات الاختبار في كل من SQL و Vertipaq. يجب أن يخبرنا وقت التنفيذ عن مدى سرعة إحدى العمليات مقارنة بالآخر.
لنبدأ باستعلام بسيط في SQL. سنقوم بحساب مجموع عمود الكمية في جدول المبيعات.
كما ترى ، فإن إجمالي وقت التنفيذ هو 2.2 ثانية.
الآن ، دعنا نذهب إلى DAX Studio ونستخدم وظيفة EVALUATE لتنفيذ نفس الاستعلام. نحتاج إلى تشغيل توقيت الخادم وانتظار اكتمال التتبع.
نحتاج أيضًا إلى التأكد من تحديد الخيار "مسح ذاكرة التخزين المؤقت ثم تشغيل" عند تشغيل الاستعلام.
بمجرد تنفيذ الاستعلام ، ستلاحظ أن الأمر لا يستغرق سوى 3 مللي ثانية لإكمال الاستعلام نفسه الذي أجريناه في SQL سابقًا.
يجب أن تتطابق مجموعة النتائج أيضًا مع كل من SQL و DAX Studio. إذا وضعناها جنبًا إلى جنب ، يمكنك أن ترى أننا نعيد نفس القيمة.
يمكنك محاولة تشغيل الاستعلام عدة مرات لمعرفة مدى اتساق وقت التنفيذ.
مقارنة وقت التنفيذ في استعلامات أكثر تعقيدًا
هذه المرة ، دعنا نقارن وقت التنفيذ عندما نجري استعلامات أكثر تعقيدًا.
لنفترض أننا نريد تحديد مجموع كمية المبيعات لكل علامة تجارية. للقيام بذلك ، يمكننا استخدام على العلامة التجارية لكل منتج. في السياق المنخفض ، سنقوم أيضًا بإنشاء جدول جديد يسمى إجمالي الكمية حيث سنقوم بحساب كمية المبيعات.
إذا قمنا بتشغيل هذا الرمز ، يمكنك أن ترى أن إجمالي وقت التنفيذ هو 7 مللي ثانية.
في الخلفية ، يقوم هذا الرمز بالفعل بتشغيل استعلامين. الأول يأخذ عمود العلامة التجارية من جدول المنتجات ، ثم ينفذ OUTER JOIN على أعمدة مفتاح المنتج من كل من عمود المبيعات وعمود المنتجات.
يقوم الاستعلام الثاني ببساطة باسترداد عمود العلامة التجارية من جدول المنتجات.
إذا انتقلت إلى شاشة النتائج ، يمكنك أن ترى أن مقياس إجمالي الكمية قد تم تقسيمه بناءً على كل علامة تجارية.
الآن دعنا نذهب إلى خادم SQL ونكتب نفس الاستعلام.
سنقوم بدفع جدول DaxStudio Sales إلى السطر التالي ، مع الإشارة إلى جدول المبيعات AS S. بعد ذلك ، سنقوم أيضًا بتنفيذ LEFT JOIN في جدول منتجات DaxStudio المشار إليه بـ AS P ، مع وجود مفتاح المنتج S. مفتاح المنتج P. سنستخدم أيضًا علامة P مع مجموع الكمية والكمية الإجمالية في عبارة SELECT . أخيرًا ، سنستخدم لـ P.brand.
بمجرد تشغيل هذا الرمز ، سنحصل على جدول يحتوي على إجمالي الكمية المفصولة حسب كل علامة تجارية ، وهو نفس الشيء الذي حصلنا عليه سابقًا في Vertipaq.
بالنسبة إلى إجمالي وقت التنفيذ ، فإنه يظل أبطأ بكثير عند 2.5 ثانية.
DAX لـ LuckyTemplates: تحسين استخدام محركات الصيغة في
تقنيات تحسين استعلام DAX Studio DAX والدروس
أداء الاستعلام وإعداد استوديو DAX
خاتمة
من الواضح مدى سرعة تخزين العمود من خلال Vertipaq حقًا مقارنة بمتجر الصفوف في قاعدة بيانات SQL. يوضح هذا أهمية التعرف حقًا على الطريقة التي تعمل بها فهرسة البيانات من خلال الأنظمة الأساسية المختلفة.
قد يبدو الأمر وكأنه تضحية صغيرة في البداية إذا كنت لا تزال تختار الذهاب لمدة 2.5 ثانية حيث يقوم متجر الصف بتشغيل استعلامك مقارنة بـ 7 مللي ثانية. لكننا نجري جميعًا العديد من الاستعلامات عندما ننشئ تقاريرنا وستُضاف جميع أوقات التنفيذ هذه ، مما يؤثر على الإنتاجية وتجربة المستخدم على المدى الطويل.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته