ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
أريد قضاء بعض الوقت اليوم في الحديث عن الجداول في LuckyTemplates. نواجه الجداول طوال الوقت مع كل مشكلة ، لكننا لا نقضي الكثير من الوقت في التفكير فيها بمفردنا. يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي أسفل هذه المدونة.
كانت هناك مشاركة مؤخرًا من عضو LuckyTemplates ، Ashton ، الذي يأتي دائمًا بأسئلة جيدة ومثيرة للتفكير. جعلني استفساره أفكر في نمط أراه بشكل منتظم وأريد معالجته في هذا البرنامج التعليمي.
لم يكن ذلك خطأً ، لكنه خطأ شائع. أرى عدة مرات حيث يقول الناس إنهم يواجهون مشكلة مع الجدول الافتراضي ، على سبيل المثال ، عندما لا يكون جدولًا افتراضيًا في المقام الأول.
هناك تمييز حقيقي بين أنواع الجداول في LuckyTemplates.
التشبيه الذي سأقدمه هو إذا قال أحدهم ، "مرحبًا ، لقد تبنت مؤخرًا كلبًا وأواجه مشكلة مع الكلب وأتساءل عما إذا كان بإمكانك المساعدة" وليس كلبًا ، ولكنه ذئب. كلاهما من الأنياب ، ولكن هناك بعض الفروق الكبيرة التي تريد أن تأخذها في الاعتبار.
لذا ، في حين أنهم جميعًا ينتمون إلى نفس العائلة ، تمامًا مثل الجداول في LuckyTemplates ، فإنهم يمثلون اختلافات مهمة تؤثر حقًا على الحل وكيفية استخدامك لتلك الجداول. وما أردت فعله هو إعادة النظر في سؤال أشتون ، ثم التعمق قليلاً في الاختلافات بين الجداول التي تجدها في LuckyTemplates وأظهر كيف يؤثر ذلك على الطريقة التي تتعامل بها معهم.
كان السؤال بسيطًا جدًا ، ولكن هناك ما هو أكثر قليلاً مما يبدو في البداية. كان لديه مجموعة بيانات بسيطة تقول فقط العملاء ، ونوع الفاكهة التي قاموا بشرائها ، والكمية ، ثم مجرد رقم فهرس.
لقد أراد أن يكون لديه آلة تقطيع ذات إمكانية متعددة التحديد بحيث إذا اخترت قل اللون البرتقالي ، فستجذب جميع العملاء الذين اشتروا البرتقال ، ولكنها ستظهر أيضًا ما قاموا بشرائه.
لذلك ، إذا قمنا بإيقاف تشغيل هذا التحديد (البرتقالي) ، فيمكننا رؤية مجموعة البيانات الكاملة. يمكننا أيضًا أن نرى أن هذين العميلين (جو وماري) قاما بشراء البرتقال ، ولكن كان لكل منهما عملية شراء إضافية.
وهكذا ، فإن أول شيء نعرفه هو أن آلة تقطيع الفاكهة يجب أن تكون طاولة تقطيع غير متصلة. إذا كانت أداة تقطيع عادية ، فستضغط على اللون البرتقالي وستزيل كل شيء ما عدا اللون البرتقالي في الجدول. نعلم أيضًا ، نظرًا لأن هذا ديناميكي ، فلدينا مشكلة جدول افتراضي.
لذلك دعونا نتعمق في هذا قليلاً ، ولكن قبل أن نفعل ذلك ، دعونا نلقي نظرة على الأنواع المختلفة من الجداول التي نجدها في LuckyTemplates.
جدول المحتويات
ثلاثة أنواع من الجداول في LuckyTemplates
هناك ثلاثة أنواع من الجداول التي نجدها بانتظام. الأول هو الأكثر شيوعًا وهو جدول فعلي ، وهذه حقًا بياناتك الأساسية. عندما تقوم بإحضار البيانات أو إدخال البيانات مباشرةً من خلال هذا الخيار أو في Power Query ، فأنت تقوم بإجراء مرجع أو تكرار ، أو تقوم بتحميل البيانات من خلال استعلام فارغ ، مثل جدول التاريخ ، وهذا جدول مادي.
الجدول المادي ليس ديناميكيًا بالكامل ، ولكنه يحتوي على كل هذه الخصائص الأخرى التي تزيد حجم الملف لأنها بيانات فعلية. يمكن الوصول إليه في Power Query. عادةً ما يتم بناء العلاقات في نموذج البيانات من خلال العلاقات المادية. لا يجب أن يكونوا كذلك ، لكنهم عادة كذلك. يتم استخدامها للبيانات الأساسية ويمكنك تصورها إما من خلال طريقة عرض البيانات أو من خلال Power Query.
الجدول المادي ليس ديناميكيًا بالكامل ، ولكنه يحتوي على كل هذه الخصائص الأخرى التي تزيد حجم الملف لأنها بيانات فعلية. يمكن الوصول إليه في Power Query. عادةً ما يتم بناء العلاقات في نموذج البيانات من خلال العلاقات المادية. لا يجب أن يكونوا كذلك ، لكنهم عادة كذلك. يتم استخدامها للبيانات الأساسية ويمكنك تصورها إما من خلال طريقة عرض البيانات أو من خلال Power Query.
الجدول الذي غالبًا ما يتم الخلط بينه وبين الجدول الظاهري هو هذا الجدول المحسوب أو ما يمكن أن نشير إليه أيضًا بجدول تعبير DAX. هذا له تشابه مباشر مع الأعمدة المحسوبة التي تم إنشاؤها من خلال تعبيرات DAX . يتم ذلك من خلال علامة تبويب النمذجة وخيار جدول جديد ، ثم تقوم بإدخال تعبير DAX.
الجدول الذي غالبًا ما يتم الخلط بينه وبين الجدول الظاهري هو هذا الجدول المحسوب أو ما يمكن أن نشير إليه أيضًا بجدول تعبير DAX. هذا له تشابه مباشر مع الأعمدة المحسوبة التي تم إنشاؤها من خلال تعبيرات DAX. يتم ذلك من خلال علامة تبويب النمذجة وخيار جدول جديد ، ثم تقوم بإدخال تعبير DAX.
كما ترى من جدول المقارنة أدناه ، يختلف الجدول المحسوب تمامًا في الملف الشخصي عن الجدول الفعلي أو الجدول الافتراضي. إنها ليست ديناميكية بالكامل.
يجب تحديثه من أجل التقاط المعلومات الجديدة. إنه يزيد من حجم الملف الفعلي. بخلاف الجدول المادي المباشر ، لا يمكن الوصول إليه في Power Query. تمامًا مثلما لا يظهر العمود المحسوب في Power Query ، لا يظهر الجدول المحسوب أيضًا. لكنها تمتلك الجوانب الأخرى للجدول المادي.
عادةً ما تستخدم الجداول المحسوبة لدعم الجداول وتستخدم بشكل أكثر شيوعًا لتصحيح الأخطاء. توجد الآن أدوات أفضل مثل DAX Studio و Tabular Editor ، لذلك لا يتم استخدامها بشكل متكرر لذلك. يمكنك عرض هذا الجدول من خلال عرض البيانات.
وبصراحة ، مثل الأعمدة المحسوبة ، فإنه بشكل عام شيء يجب الابتعاد عنه. هناك طرق أفضل للقيام بالأشياء من خلال الجداول المحسوبة.
ومن ثم فإن القياس على المقاييس هو الجداول الافتراضية الحقيقية . يتم إنشاؤها في سياق التدابير من خلال رمز قياس DAX. إنها ديناميكية بالكامل ، على عكس النوعين الآخرين من الجداول. لا يزيدون حجم الملف لأنهم عند الطلب. تمامًا مثل المقاييس ، يتم حساب الجداول الافتراضية عند الطلب في الذاكرة ويتم استخدامها جميعًا على مدار السياقات المطلوبة من أجلها.
لا يمكن الوصول إليها في Power Query. لا يمكنك وضع علاقة جسدية على هؤلاء. إذا قمت بربطها في نموذج البيانات الخاص بك ، فإنك تفعل ذلك باستخدام العلاقات الافتراضية ، والأكثر شيوعًا مع .
تُستخدم الجداول الافتراضية للحسابات الوسيطة في المقاييس لأن المقياس لا يمكنه إرجاع قيمة جدول ويجب أن يُرجع قيمة قياسية. لذلك ، عادة ما تستخدم هذه الحسابات المؤقتة التي تقوم على أساسها بإنشاء أدوات القياس ، والتي هي المنتج الناتج للقياس الخاص بك.
يمكنك تصور هذه الجداول في أدوات مثل DAX Studio ، أو Tabular Editor ، أو New Table ، وهي مرة أخرى ، ربما تكون الطريقة الأقل استحسانًا لأنها تفسد نموذج البيانات الخاص بك بمجموعة من الجداول الإضافية ، ما لم تحذف هذا.
حل قياس DAX لجدول افتراضي
بالعودة إلى سؤال أشتون ، من خلال النظر إلى الطاولة ، يمكننا أن نقول إنها ديناميكية. يمكننا أيضًا القيام بخيارات متعددة وهذا يتغير تمامًا أثناء التنقل. وبسبب ذلك ، نعلم أنه جدول افتراضي لأن الجدولين الآخرين (الجداول المادية والمحسوبة) ليسا ديناميكيين بالكامل. نعلم أيضًا أنه جدول غير متصل ، كما ذكرت في البداية.
لقد استخدمت مفهوم البط المطاطي لحل هذه المشكلة. في برنامج تعليمي سابق ، تحدثت عن مفهوم "البط المطاطي" هذا ، والذي يعمل على تطوير حل مفاهيمي للمشكلة قبل البدء في البحث في مؤشر DAX المحدد.
وهكذا ، بالنسبة لمحلول البط المطاطي هنا ، ما فعلته هو في الأساس تجميع طاولة التقطيع المنفصلة هذه. ثم حصدت قيمة تلك القواطع. بعد ذلك ، توصلت إلى جدول افتراضي يقوم بتصفية العملاء حسب أولئك الذين اشتروا التحديدات في الجدول غير المتصل.
بعد ذلك ، أخذت قائمة العملاء هذه وقمت بتصفية مجموعة بياناتنا الأصلية من قبل هؤلاء العملاء للتوصل إلى العملاء والمشتريات التي قام بها هؤلاء العملاء ، بالإضافة إلى قيمة تقطيع الشرائح.
دعنا نلقي نظرة على الإجراء المحدد لنرى كيف تم تنفيذ ذلك وبعض الاعتبارات التي لديك في العمل مع الجداول الافتراضية.
كان أول شيء هو تطوير مقياسين للحصاد لقيمنا. الأول هو قيمة قطاعة التقطيع غير المتصلة.
نظرًا لأن لدينا التحديد المتعدد في المتطلب ، فهذا يعني أنه لا يمكننا استخدام فقط . لذا ما فعلته هو استخدام وظيفة لالتقاط تحديد واحد أو أكثر في أداة التقطيع غير المتصلة. بالنسبة للعملاء ، نظرًا لأنه سيكون لدينا عميل واحد في كل صف نقوم بتقييمه ، يمكننا استخدام SELECTEDVALUE.
الشيء التالي الذي فعلته هو متغير الجدول الافتراضي ( VAR Buyers ) الذي يبدأ بـ . بعد ذلك ، يذهب إلى تصفية عملاء من خلال ما إذا كانوا قد أجروا شراء فاكهة كان ضمن قيمنا الخاصة بآلة التقطيع غير المتصلة.
يمكننا التحقق من ذلك عن طريق إجراء استعلام DAX. يمكننا القيام بذلك في DAX Studio أو في Tabular Editor. لذلك دعونا نأخذ مقياس الجدول الافتراضي الخاص بنا هنا ، وننسخه في Tabular Editor. سنتأكد من أنه يمنحنا القيم التي نتوقع رؤيتها ، والتي ستكون جو وماري.
تُرجع استعلامات DAX الجداول دائمًا وكانت دائمًا تبدأ بـ EVALUATE ، لذلك نضيف التقييم هنا. ومع ذلك ، فإننا لا نحصل على أي شيء في النتيجة. هذا لأن متغير حصاد الفاكهة المختارة ( SelDisconnFruit ) ليس لديه وعي بآلة التقطيع. إنه خارج السياق.
لذا فإن طريقة اختبار ذلك هي نوع من الإعداد المصطنع لقيمة تقطيع اللحم. سنستبدل SelDisconnFruit بطاولة صغيرة هنا. اكتب البرتقالي (قيمة هذا القطاعة) بين قوسين متعرجين . والآن ، نحصل على النتيجة هنا ، وهي جو وماري. مع ذلك ، يعمل الجدول الافتراضي تمامًا كما كنا نظن أنه سيعمل.
يمكننا العودة الآن إلى مقدار القياس. أحد الأشياء الصعبة حول الجداول الافتراضية هو أنه من السهل إنشاء جداول افتراضية داخل مقياس . لكن لا يمكنك إرجاع جدول افتراضي كنتيجة لمقياس . لذلك نحن بحاجة إلى إرجاع عدد قياسي ، لكن هذا يلتقط الجانب ذي الصلة من الجدول الافتراضي.
هنا ، لدينا الجدول الافتراضي الذي يخبرنا العملاء الذين اشتروا الفاكهة التي كانت في تقطيع القيمة. يمكننا إعداد متغير آخر ( VAR BuyerIn ) يقول ، إذا كان العميل المحدد موجودًا في جدول المشتري ، فسيحصل على واحد . وإذا لم يكن كذلك ، فإنه يحصل على صفر .
ثم نأخذ نتائج ذلك ونضعها في لوحة التصفية. نقول إن مقياس المشترين الرئيسيين هو أحد المقاييس وسيكون العملاء الذين اشتروا ، في هذه الحالة ، البرتقال.
ومن خلال القيام بذلك ، نقوم بتصفية جدول البيانات الأصلي لدينا وصولاً إلى السجلات الصحيحة. يمكنك أن ترى أنه يقوم الآن بإنشاء هذا الجدول الظاهري ويقوم بالتصفية بشكل صحيح بناءً على كل تحديد.
الجداول الافتراضية داخل الوظائف المتكررة في مفاهيم LuckyTemplates - DAX
إنشاء علاقات افتراضية في LuckyTemplates باستخدام وظيفة TREATAS
كيفية استخدام وظيفة COUNTROWS DAX في الجداول الافتراضية
خاتمة
هذا هو الجزء الأكبر مما أردت تغطيته اليوم. إنه مثال بسيط لجدول افتراضي إلى حد ما ، ولكن مع التركيز على الفرق بين الجداول الفعلية والجداول المحسوبة والجداول الافتراضية.
هناك الكثير من المشكلات المثيرة للاهتمام التي يجب إعادة النظر فيها فيما يتعلق بالجداول الافتراضية ، خاصةً مع تصحيح أخطاء مقاييس الجدول الافتراضية. هذا شيء سأعود إليه في غضون الأسابيع القليلة القادمة ، لكن في الوقت الحالي ، هذا كل ما في هذا البرنامج التعليمي.
هتافات!
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته