ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
في مدونة اليوم ، سأعرض الحل لمشكلة LuckyTemplates ، بما في ذلك إطار عمل بسيط وقابل للتعميم لدمج كود M في عمود Power Query المخصص. يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي في أسفل هذه المدونة.
تزيد القدرة على إنشاء أعمدة في Power Query باستخدام كود M من قدرتك على حل المشكلات الأكثر تعقيدًا.
قبل الخوض في الحل ، دعنا نراجع طبيعة المشكلة. لقد قدمت مجموعة بيانات ضخمة من Kaggle مكونة من 93 عامًا من بيانات الأوسكار. أردنا إخراج أفضل ممثلة ، والفائزين ، وخاصة أولئك النساء اللائي فازن بأكثر من جائزة واحدة لأفضل ممثلة ، ثم تصور استخدام Queryon Timeline للسنة التي فازوا فيها بالجائزة الثانية.
كان لدي عدد من الأهداف عند وضع هذه المشكلة معًا. ما الذي نريد أن تركز المشكلة عليه وماذا نريد أن تكون الأهداف الرئيسية؟
وفي هذا ، كان هناك ثلاثة منهم.
الأول هو تعلم أو تطوير بعض الممارسات باستخدام تكوين Group By و All Rows . إنه شيء كنت أركز عليه حقًا لأنه يحل مجموعة كبيرة من المشكلات بكل بساطة وفي كثير من الأحيان يلغي الحاجة إلى بعض DAX شديد التعقيد.
الهدف الثاني هو بشكل خاص للأشخاص الذين لم يعتادوا على العمل في M. أردت إنشاء مشكلة من شأنها تطوير بعض الراحة في كتابة كود M الأساسي . أردت أن أجبر هذا النمط من التفكير حول ما يشبه تطوير كود M الأساسي وعملية القيام بذلك.
وفقًا لفصل في كتاب جيل رافيف حول Power Query ، يمكن حل حوالي 40٪ من المشكلات في Power Query من خلال واجهة المستخدم فقط. ولكن هذا ، مع إضافة بعض التعليمات البرمجية الأساسية M والقدرة على إنشاء أعمدة مخصصة ، ليس بالأمر الصعب حقًا. يمكنك رفع هذه النسبة إلى أكثر من 80٪. يمكنك مضاعفة قدراتك على حل المشكلات ببعض المهارات الأساسية والبسيطة.
الشيء الثالث الذي أريد القيام به هو تقديم مرئيات Queryon Timeline المخصصة لأولئك الذين ليسوا على دراية بها. لقد جئت لأحبها حقًا. لقد استخدمتها في عدد من الحالات المختلفة وأعتقد أنها توفر طريقة فريدة حقًا لتصور البيانات.
جدول المحتويات
نهج الحل لمشكلة الأسبوع # 9
عند التفكير في هذه المشكلة ، أردت إجراء تجربة فكرية. ماذا لو أعطيتك 93 قصاصة ورقية بدلاً من ملف CSV (واحدة مع الفائز بجائزة أفضل ممثلة كل عام) ، كيف سيبدو الحل؟
من المحتمل أن يبدو الحل الخاص بك مثل ما لدي أدناه.
أعتقد أن الجميع سيكون لديهم حل مماثل نسبيًا لذلك. بمجرد حصولك على هذا الحل المفاهيمي ، فإن الأمر يتعلق فقط باكتشاف كيفية جعل Power Query ينفذ كل خطوة من هذه الخطوات.
وهكذا ، سأأخذ هذا كمخطط عام ، ثم أستعرض كيفية تفعيل هذا الحل المفاهيمي في شيء ما في Power Query. النهج الذي سنستخدمه هو ما تشير إليه ميليسا ، خبير Power Query المقيم لدينا ، على أنه التعلم بواسطة Googling.
الآن إذا عدنا إلى نموذجنا المفاهيمي ، فإن الخطوتين الأوليين تتضمن فرز الزلات إلى مجموعات حسب الممثلة والتخلص من أي مجموعة بزلة واحدة فقط. لذلك ، نريد إجراء العد. إذا كنا لا نعرف كيفية القيام بذلك ، فيمكننا الذهاب إلى Google ومحاولة البحث عن مصطلح. في هذا المثال ، جربت "استعلام طاقة المجموعة". مع ذلك ، يمكننا أن نجد كل ما نحتاج إلى معرفته حول كيفية القيام بهذا التجميع.
استخدام التجميع حسب في Power Query
ثم يمكننا الانتقال إلى Power Query والبدء في تشغيل حلنا. ما فعلته هو أنه في جدول الأوسكار هذا ، لقد مررت للتو وسحبت ملف CSV وقمت بالتصفية إلى الفائزين بجائزة أفضل ممثلة لكل عام. إذاً ، لدينا 93 صفاً فقط من الاسم فقط وعام الفيلم.
إذا انتقلنا إلى Power Query وانتقلنا إلى هذا الجدول ، فإن أول شيء نريد القيام به هو " Group By" .
لطالما أحببت الانتقال إلى المستوى المتقدم لمجرد أنه يوفر واجهة أفضل قليلاً حتى لو كان ما نقوم به واضحًا ومباشرًا.
نريد التجميع حسب الاسم ، ثم دعونا نحصل على عمود ، AllData ، وسيكون هذا هو كل صفوفنا. بدلاً من إرجاع التجميع فقط ، سيعيد التجميع ، ولكن مع بقاء جميع الصفوف التي نريدها سليمة.
سيكون لدينا عمود آخر يسمى Count ونريده عندما ننتقل إلى عدد الصفوف . نريد إيجاد عدد الانزلاقات في كل كومة. ثم نضغط على "موافق".
يمكننا بعد ذلك النقر فوق هذه المساحة البيضاء في الجدول ، ونحصل على قسيمة واحدة فقط.
ولكن بعد ذلك بالنسبة للأشخاص الذين لديهم حسابات متعددة ، سترى أننا حصلنا على جميع السجلات.
بعد ذلك ، نريد تصفية العناصر (1). لذلك ، نحن في الأساس نرمي كل تلك الأكوام التي لها اسم واحد فقط. حدد 1 وانقر فوق "موافق".
وقد وصلنا الآن إلى 14 فائزًا بجوائز متعددة. وقد وصلنا الآن إلى 14 فائزًا بجوائز متعددة. إذا أخذنا ذلك ووسّعناه ، فيمكننا إخراج Name لأن لدينا بالفعل الاسم هنا والاحتفاظ بـ year_film .
لقد انخفض عدد الصفوف الآن إلى 30 صفاً لأن بعضها سيحقق انتصارات متعددة. ويمكننا بالفعل التخلص من عمود Count لأننا طرحنا بالفعل الآحاد بواحد فقط.
ننتقل الآن إلى المرحلة التالية من نموذجنا المفاهيمي ، وهي فرز القسائم في كل مجموعة حسب التاريخ التصاعدي ، ثم اختيار اليوم الثاني الذي يحدث داخل كل مجموعة.
الفرز سهل. يمكننا العودة إلى Power Query وإجراء فرز تصاعدي حسب الممثلة ثم حسب التاريخ.
وسيظهر لك واحد واثنين.
لذا فقد تم فرزنا جيدًا ، والآن نريد أن يكون لدينا مثل فهرس أو ترتيب لكل واحد ، ثم نتمكن من أخذ الترتيب الثاني في كل كومة.
دمج Table.AddIndexColumn M Code
وهكذا عدنا الآن إلى منهجنا "Learned by Googling" حيث يمكننا فقط البحث في الترتيب أو الفهرس ، ولكن يمكننا أيضًا الانتقال إلى الدليل المرجعي لـ Microsoft . لقد أنشأت أداة خارجية أستخدمها طوال الوقت تنقلك من LuckyTemplates إلى الدليل المرجعي لـ Microsoft.
في الدليل المرجعي لـ Microsoft ، يتم تجميع كل شيء حسب الوظيفة ويحتوي على مربع تصفية حيث يمكنك البحث عن كل ما تحتاجه. في هذه الحالة ، نكتب الترتيب أو الفهرس في مربع التصفية. لا يقدم لنا أي شيء بالنسبة إلى التصنيف ، ولكن بالنسبة إلى الفهرس ، لدينا هذا الجدول AddIndexColumn ، وهو ملائم وقابل للتطبيق على ما نبحث عنه. كما يوفر بعض الأمثلة على كيفية استخدام هذه الوظيفة.
لذلك دعنا نذهب إلى Power Query ودعنا نعيد تجميع جدولنا حسب الممثلة.
مع ذلك ، نحصل على 14 مجموعة فائزة حسب الجدول. وإذا ذهبنا إلى أي من هذه الجداول ، نقول ، فرانسيس مكدورماند ، يمكننا أن نرى أن الجدول مرتبة حسب التاريخ.
وبعد ذلك ، إليك الخطوة الكبيرة ، وهي إضافة عمود مخصص في Power Query وإدخال رمز M. سيكون لدينا Table.AddIndexColumn ، ثم أضف الحقل AllData . سنسمي العمود الجديد (كنص) هنا بالفهرس ، وسنبدأ الفهرس عند واحد (1) ونزيده بمقدار واحد (1).
ونحصل على هذا الفهرس المثالي هنا.
الآن ، يمكننا حذف عمود AllData الخاص بنا هنا نظرًا لأن كل شيء التقط في Custom . بعد ذلك ، يمكننا فقط توسيع العمود المخصص و��خراج الاسم ، لأن لدينا بالفعل الاسم هنا أيضًا. مع ذلك ، ما لدينا هو هذا الفهرس المرقم لكل واحد.
أخيرًا ، يمكننا أن نفعل ما فعلناه في Count ، وهو تصفية كل العناصر الموجودة في الفوز الثاني.
وها نحن ذا. هناك حلنا.
تصور باستخدام Queryon Timeline Custom Visual
هناك بعض الأشياء الأخرى التي نريد القيام بها هنا ، والتي تعتمد جميعها على تنفيذ Queryon Visual . سنقوم بدمج وإضافة عنوان URL للصورة.
لذلك سنقوم بدمج الاستعلامات ، وسحب جدول الممثلات هذا ، وسندمج الاسم . نحصل على 14 إلى 14 صفًا متطابقة ، وهذا أمر جيد.
ثم في عمود الممثلات ، سنقوم فقط بالتوسيع وسنوسع إلى عنوان URL.
والآن لدينا هذا العمود مع عناوين URL.
هناك شيء آخر يأتي مع معرفة مخطط Queryon الزمني. يعمل Queryon بشكل أفضل عندما يتعامل مع التواريخ الكاملة بدلاً من السنوات . وهكذا ، هذا شيء يأتي فقط مع التجريب ، ولكن يمكننا أن نأخذ عمود السنة وننشئ عمودًا من الأمثلة . ما نريد القيام به هنا هو مجرد تحويل السنوات إلى تواريخ.
سيؤدي ذلك إلى تحسين التنسيق. هذا شيء لا أتوقع منك أن تعرفه فورًا ، لكنه يأتي مع الممارسة مع Queryon. نضغط على موافق ، وهذا يدخل كقيمة تاريخ. يمكننا حذف جدول الفهرس لأننا لم نعد بحاجة إليه ، ويمكننا بعد ذلك تغيير اسم العمود year_film إلى العام .
دعنا الآن ننتقل إلى جانب التصور لهذا وأريد تسليط الضوء على دخول أحد أعضاء LuckyTemplates ، وهو Jose ، الذي قام بالفعل بعمل رائع في التصور.
بالعودة إلى Power Query من أجل التصور ، تجدر الإشارة إلى أن Microsoft قامت مؤخرًا بتنفيذ بعض التغييرات على الطريقة التي تعتمد بها المرئيات المخصصة . كجزء من هذه الشهادة ، شددوا على استخدام صور عناوين URL الخارجية.
إذا كنت تستخدم بالفعل إصدار Queryon Timeline الموجود في App Source (الإصدار 1.05) ، فلن تتمكن من سحب صور URL هذه. وهكذا ، لديك الآن خيار استخدام الإصدار 1.04 ، مع الاحتفاظ بصور عنوان URL ، حيث توجد على موقعهم طريقة لتضمين 64 صورة ثنائية مباشرة في ملف PBIX.
لقد ذكرت الآن تغيير ذلك العام إلى حقل تاريخ ، لذلك نحتاج إلى ربط ذلك بنموذج البيانات الخاص بنا.
دعنا نغيرها من واحد إلى واحد إلى واحد إلى كثير ، والاتجاه الفردي على مرشح التقاطع ، ثم نجعل هذه العلاقة علاقة خطية .
بعد ذلك ، بالنسبة لحقل عنوان URL للصورة ، نحتاج إلى التأكد من أنه في فئة البيانات ، لا يظهر على أنه غير مصنف ، ولكن كعنوان URL للصورة .
الآن بعد أن تم إعداد كل شيء بشكل جيد ، نقوم فقط بسحب وإسقاط حقول الاسم والتاريخ وعنوان URL . يصبح ما تبقى منه تنظيفًا مباشرًا حقًا في خيارات التنسيق.
جدول Power Query: كيفية دمج الأعمدة ديناميكيًا
كيفية دمج الاستعلامات في LuckyTemplates
استخراج القيم من السجلات والقوائم في Power Query
خاتمة
آمل أن أكون متحمسًا لإضافة رمز M إلى ذخيرتك. لقد أوضحت لك كيفية إعداد نموذج مفاهيمي وتنفيذ نهج Learn by Googling. لقد قمت بإرشادك عبر خطوات دمج كود M في عمود مخصص وتصور النتائج باستخدام Queryon Timeline.
أتمنى أن تكون قد وجدت ذلك مفيدًا. شاهد الفيديو الكامل أدناه للحصول على مزيد من التفاصيل حول البرنامج التعليمي وتحقق من الروابط أدناه لمزيد من المحتوى ذي الصلة.
أتمنى لك كل خير!
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته