وظيفة DAX COLUMNSTATISTICS في LuckyTemplates

وظيفة DAX COLUMNSTATISTICS في LuckyTemplates

أرغب في مواصلة استكشاف الاستخدامات الديناميكية لوظيفة DAX COLUMNSTATISTICS () - وظيفة DAX جديدة غير موثقة بالكامل تقريبًا تمت إضافتها إلى LuckyTemplates في أغسطس 2021 والتي تحتوي على بعض الجوانب الفريدة جدًا التي أعتقد أنها ستكون ممتعة للغاية للتعرف عليها . يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي أسفل هذه المدونة.

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

جدول المحتويات

كيف تعمل دالة DAX COLUMNSTATISTICS

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

وظيفة DAX COLUMNSTATISTICS في LuckyTemplates

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

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

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

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

سيعيد قائمة 10000 عنصر ويمكننا تحويلها إلى جدول ، ثم إعادة تسمية ذلك الجدول.

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

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

دعنا ننتقل إلى Tabular Editor 3 ، والذي أعتقد أنه أفضل طريقة لمعرفة ما تفعله بالفعل مقاييس DAX المعقدة.

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

في هذه الحالة ، سنستبدلها بـ ColStats ، ما فعلناه في الأعلى هو وضع دالة COLUMNSTATISTICS DAX في متغير. مع ذلك ، نحصل على ما نتوقعه بالضبط ، وهو جدول إحصائيات العمود القياسي.

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

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

لذا في هذه الحالة ، علينا أن نبقى مع ما يشبه المقياس ، لكنه في الواقع مرجع عمود بدون مرجع الجدول أمامه. وهذا لا يزال يعمل على الرغم من أنه محير في التسمية. الآن ، إذا استبدلنا عبارة RETURN هذه بـ TabCol ، فسنحصل بالضبط على ما نتوقعه ، وهو حقل جداول النموذج هذا.

ثم بالنسبة للنتيجة ، نقوم فقط بعدد أعمدة الجدول المميزة. لذا ، إذا استبدلنا هذا بـ DISTINCT (TabsCol) ، فسنحصل على جداولنا السبعة.

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

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

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

للقيام بذلك ، نستخدم هذا النمط الشائع جدًا باستخدام . نقوم بعد ذلك بنسخه إلى بيان RETURN الخاص بنا وسوف يعطينا الصف الذي كنا نتوقع الحصول عليه ، وهو عمود 10000 تاريخ. بدلاً من الحصول على صف واحد (لأنه TOPN) ، نحصل على صفين لأن هناك ربطة عنق.

ما يفعله ColStats أيضًا هو أنه ينشئ ، لكل جدول ، فهرسًا في صف فهرس مخفي يسمى RowNumber مع كونه معرفًا فريدًا لكل صف من الجدول. لذلك سيتم دائمًا عكس MaxCardinality بواسطة RowNumber إذا كان هذا معرفًا فريدًا.

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

بعد ذلك ، إذا وضعنا MaxCardinality في عبارة RETURN الخاصة بنا ، ووضعناها بين قوسين لإرجاع جدول بدلاً من قشارة ، فإنها تُرجع قيمة Test.

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


تحسين صيغ LuckyTemplates باستخدام
تحليل مقياس DAX DAX المتقدم: تقسيم مقاييس DAX الطويلة
مقاييس DAX في LuckyTemplates باستخدام قياس التفريع

خاتمة

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

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

أتمنى لك كل خير!


ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

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

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

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

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته