تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
سأوضح لك كيفية تحديث مجموعة بيانات الممارسة الخاصة بك في كل مرة تقوم فيها بالتحديث . يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي في أسفل هذه المدونة.
إذا كنت تريد حقًا تحسين مهاراتك في DAX ، فالطريقة هي استخدامها ووضعها موضع التنفيذ. وللقيام بذلك ، ستحتاج إلى مجموعة بيانات تدريبية تساعدك على تصور سيناريوهات الحياة الواقعية الممكنة والعمل عليها.
مشكلة مجموعات البيانات العملية هي أن البيانات عادة ما تكون ثابتة . لكي تتمرن بكفاءة ، يجب أن تعطي انطباعًا بأن البيانات حية.
جدول المحتويات
إعداد مسار ملف لمجموعة بيانات الممارسة
بالنسبة لبيانات العينة الخاصة بي ، لدي ملف Excel يحتوي على بيانات المبيعات من 2014 و 2015 و 2016.
هذه هي البيانات التي أحتاج إلى تحديثها.
يمكن العثور على موقع المستند هنا على شريط أدوات الوصول السريع.
أحتاج ذلك لإعداد معلمة لمسار الملف الخاص بي. لذلك سأقوم بنسخ موقع المستند.
هناك نقطة وصول إلى شريط أدوات الوصول السريع على الجانب الأيمن من ذلك.
بمجرد الضغط على ذلك ، أحصل على هذه الشاشة.
لذلك سأذهب إلى All Commands ثم اختر Document Location . أضف ذلك إلى شريط أدوات الوصول السريع واضغط على موافق.
الآن ، سأنتقل إلى Power Query لإنشاء المعلمة التي ستحتفظ بمسار الملف الخاص بي. هذه الخطوة مهمة لأنها تسمح باستعادة جميع الاستعلامات داخل النموذج في حالة قيام مستخدم آخر بتغيير موقع الملف.
لذلك سوف أقوم بإنشاء معلمة جديدة .
سأقوم باستدعاء موقع FileLocation .
ضمن النوع ، سأقوم بتحديد النص . وبالنسبة للقيمة الحالية ، سوف ألصق في موقع المستند الذي نسخته سابقًا.
سأقوم بإنشاء استعلام جديد.
ثم سأختار عينة البيانات التي سأستخدمها كمجموعة بيانات الممارسة الخاصة بي.
سيظهر هنا عدد من الجداول المختلفة نظرًا لأن لدي بيانات مبيعات من 2014 و 2015 و 2016. أحتاج فقط إلى اختيار الجدول الأول ، وهو Sales_2014 .
الآن بعد أن اخترت بيانات Sales_2014 ، حان الوقت لتغيير موقع الملف ذي الترميز الثابت إلى موقع ملف ديناميكي .
سأنتقل إلى المحرر المتقدم وحدد كل ما يتعلق بموقع الملف .
بعد ذلك ، سأغير ذلك إلى معلمة FileLocation التي أنشأتها سابقًا.
ثم سأضغط على Done لقفل هذه التغييرات في استعلام Sales_2014.
إنشاء مجلد إعداد البيانات
بالنظر إلى الخطوات المطبقة لاستعلام Sales_2014 ، سأضغط على خطوة التنقل . هذا يوضح لي أنه يشير إلى خطوة المصدر .
يشير أيضًا إلى Sales_2014 الذي يظهر كجدول . يوضح أيضًا أنه يستخرج البيانات من عمود البيانات.
الآن ، اسمحوا لي أن ألقي نظرة على الخطوة المصدر بعد ذلك.
توضح لي خطوة المصدر كل ما يوجد في ملف Excel الخاص بي . إذا تحققت من هذه الإحداثيات ، أرى Sales_2014 ، وتحت النوع ، يظهر الجدول .
عندما أبحث عن عمود البيانات ، فإنه يعرض كائن الجدول الذي تم استخراجه.
لذا يمكنني تكرار هذا الاستعلام للتوصل إلى بيانات عام 2015 . للقيام بذلك ، أحتاج فقط إلى النقر بزر الماوس الأيمن على Sales_2014 ثم اختيار تكرار.
بعد ذلك ، سأعود إلى خطوة التنقل.
سوف أغير تلك السنة من 2014 إلى 2015.
سأعيد أيضًا تسمية ذلك هنا ضمن الخصائص. سأسميها Sales_2015.
هذه المرة ، سأكرر Sales_2015.
ثم سأعود إلى خطوة التنقل وأغير العام إلى 2016.
لدي الآن بيانات المبيعات الكاملة الخاصة بي. لكن لا ينبغي تحميل هذه الاستعلامات في نموذجي . أحتاج فقط إلى النقر بزر الماوس الأيمن على كل واحد منهم وإلغاء تحديد تمكين التحميل .
الآن ، سأقوم بتحديد جميع الاستعلامات ووضعها في مجلد واحد لجعل الأمور أكثر تنظيمًا.
سأتصل بهذا المجلد Data Prep .
الحصول على يوم الإزاحة
ستكون بيانات العينة الموجودة هنا ضمن Data Prep ثابتة . هذا يعني أن التاريخ الأول والأخير لن يتغير أبدًا .
لذلك سأنتقل إلى Sales_2016 وسأقوم بفرز عمود تاريخ الطلب بترتيب تنازلي للحصول على التاريخ الأخير من مجموعة البيانات هذه .
التاريخ الأخير في مجموعة البيانات هذه هو 31 ديسمبر 2016 .
الآن ، سأقوم بإنشاء استعلام جديد.
بعد ذلك ، سأتحقق من ماهية Day Offset من التاريخ الأخير في مجموعة البيانات إلى اليوم. هذا يعني أنني بحاجة لمعرفة ما هو اليوم. للقيام بذلك ، سأستخدم الدالة DateTime.FixedLocalNow . سيعطيني هذا التاريخ والوقت من الجهاز الذي أعمل عليه.
لكنني لا أحتاج حقًا إلى جزء الوقت هنا. أنا بحاجة فقط إلى جزء التاريخ من هذه القيمة.
لذلك ، سأستخرج التاريخ باستخدام Date. From .
ثم من هذه القيمة ، سأطرح التاريخ الأخير في مجموعة البيانات الخاصة بي . نظرًا لأن البيانات ثابتة ، يمكنني استخدام قيمة التاريخ الجوهرية . هذا هو #date ثم الرجوع إلى 31 ديسمبر 2016.
الآن ، أنا بحاجة لاستخراج الرقم من هذا الاختلاف . لذلك سأضيف رقم ، وأغلقه بأقواس. ثم اضغط على مفتاح الإدخال.
سأعيد تسمية هذا باسم DayOffset .
إعداد نطاقات التاريخ الديناميكية
أحتاج أيضًا إلى نطاقات تواريخ ديناميكية لجدول التواريخ الخاص بي. سأبدأ بالضغط بزر الماوس الأيمن على مجلد Data Prep وإنشاء استعلام فارغ جديد.
بعد ذلك ، سأعمل على جدول تاريخ البدء الخاص بي.
أريد دائمًا أن يكون اليوم الأول من العام هو تاريخ البدء. لذا سأضع علامة التساوي وأستخدم الدالة Date.StartOfYear .
نظرًا لأنني بحاجة إلى إعطاء هذه القيمة ، فسوف أقوم بتعويض ذلك باستخدام Date.AddDays .
ثم سأستخدم قيمة التاريخ الجوهرية مرة أخرى وأستخدم التاريخ الأول في مجموعة البيانات الخاصة بي ، وهو 1 يونيو 2014.
أحتاج أيضًا إلى عدد الأيام التي حسبتها في DayOffset ، لذلك سأضيف ذلك.
بمجرد الضغط على مفتاح الإدخال ، ستحصل على 1 يناير 2017 . سيكون هذا هو التاريخ الأول في جدول المواعيد الخاص بي.
سأعيد تسمية ذلك إلى fxStartDate .
الآن ، يمكنني إعداد تاريخ الانتهاء الخاص بي. سأقوم بنسخ بناء الجملة الذي استخدمته في تاريخ البدء الخاص بي.
سوف أقوم بإنشاء استعلام جديد فارغ.
ثم أعد تسميته إلى fxEndDate .
ثم سأقوم بلصق بناء الجملة من تاريخ البدء الخاص بي .
بدلاً من StartOfYear ، سأغير هذا إلى EndOfYear.
سأستخدم أيضًا التاريخ الأخير لمجموعة بياناتي ، وهو 31 ديسمبر .
عندما أضغط على مفتاح الإدخال ، يتم إرجاعه في 31 ديسمبر 2020 .
إنشاء جدول مبيعات واحد
سأقوم بدمج الجداول الثلاثة في جدول مبيعات واحد . للقيام بذلك ، سأقوم بإنشاء استعلام جديد.
سأسمي هذا جدول المبيعات الخاص بي .
ثم سأجمع Sales_2014 و Sales_2015 و Sales_2016 في جدول واحد.
أعلم أنه يمكنك القيام بذلك من خلال الشريط ، ولكن هناك أيضًا خيار للقيام بذلك مباشرة في شريط الصيغة. سأختار هذا الخيار الثاني.
سأبدأ مع الجدول .
Table.Combine يتطلب قائمة الجداول . لذا سأضيف مُهيئ القائمة ، وهي تلك الأقواس المتعرجة ، ثم سأقوم بتسمية الاستعلامات الثلاثة . اضغط على Enter بعد ذلك.
تحويل عمود تاريخ الطلب
الآن بعد أن حصلت على معظم العناصر التي أحتاجها ، سأقوم بإنشاء جزء رئيسي من بناء الجملة الذي سأستخدمه لاحقًا لإكمال مجموعة بيانات الممارسة الديناميكية الخاصة بي.
سأبدأ باختيار عمودين من الأعداد. يمكنني استخدام فهرس منطقة التسليم وفهرس وصف المنتج . من جانبك ، يمكنك الضغط على مفتاح Shift أو Ctrl لتحديد كلا العمودين.
ضمن علامة التبويب التحويل ، سأختار القيمة المطلقة .
إذا نظرت إلى شريط الصيغة ، فسوف يظهر الدالة Table.TransformColumns . هذا هو مفتاح الحل النهائي.
تأخذ الوظيفة قائمة بقوائم التحويل . كما ترى ، هناك قائمتان متداخلتان هنا داخل بعضهما البعض.
يشير إلى اسم العمود كنص. لهذا السبب تمت الإشارة إلى مؤشر منطقة التسليم هنا في المجموعة الأولى.
ثم يضيف خطوة التحول .
يفعل الشيء نفسه في قائمة منفصلة لعمود فهرس وصف المنتج .
الآن ، سأتوجه إلى المحرر المتقدم .
لا اريد قيم مطلقة . لذا فإن أول شيء سأفعله هو موازنة التاريخ . سأقوم بإنشاء وظيفة تسمى fxUpdateDate للقيام بذلك. سيستخدم التاريخ الحالي ، والذي سأكتبه كـ cDate .
بعد ذلك ، سأستخدم الدالة Date.AddDays مرة أخرى ، والتي تستخدم أيضًا cDate . سأستخدم أيضًا DayOffset الذي أنشأته سابقًا.
كل ما يفعله fxUpdateDate هو أخذ التاريخ. لذلك إذا قمت بتمرير ذلك إلى Table.TransformColumns وظيفة ، فسوف تبدأ في التحقق من كل تاريخ مسجل.
لذا ، إذا كنت أعمل على الصف الأول هنا ، على سبيل المثال ، فسيعتبر 1 يونيو 2014 تاريخًا.
وفي كل مرة يتم استدعاء الوظيفة ، ستضيف DayOffset الذي أنشأته.
الآن ، تظهر خطوة التحويل الجدول في القيمة المطلقة المحسوبة .
سأقوم بإعادة تسمية ذلك أولاً وأطلق عليه UpdateOrderDate .
تتضمن خطوة UpdateOrderDate هذه Table.TransformColumns الذي يساوي المصدر.
الجدول الأولي المدرج هو فهرس منطقة التسليم . لكن ليست هناك حاجة لتغيير ذلك. لذلك سأقوم بتغيير هذا العمود الأول المشار إليه في عمود OrderDate .
تقول أيضًا هنا أن التحول سيكون في القيم المطلقة.
بما أنني لا أريد ذلك ، سأقوم بتغيير ذلك إلى fxUpdateDate .
لن يكون النوع قيمة مطلقة أيضًا ، لذلك أحتاج أيضًا إلى تغيير هذا الجزء.
سوف أقوم بتغيير ذلك إلى موعد .
أنا بحاجة إلى تحويل واحد فقط ، لذلك سأحذف القائمة الثانية إلى جانب خطوة التحويل التي تأتي مع هذه المجموعة ...
... لذلك فهو مجرد تحويل واحد لعمود OrderDate.
لأنني أعدت تسمية الخطوة للقيمة المطل��ة المحسوبة ، فأنا بحاجة إلى تغيير ذلك في البيان الخاص بي أيضًا.
الآن يظهر UpdateOrderDate أيضًا.
لذلك سيقوم عمود OrderDate الآن باستدعاء هذه الوظيفة لكل سجل في Table.TransformColumns .
بالنظر إلى عمود تاريخ الطلب ، أستطيع أن أرى أنه قد تم تحديثه.
وإذا قمت بفرز ذلك بترتيب تنازلي ، فسيظهر 7 يوليو 2020 كتاريخ حالي.
لذا سأقوم بإزالة خطوة الفرز هذه لأنني لست بحاجة لذلك حقًا. لقد فعلت ذلك فقط للتحقق مما إذا كان التاريخ الحالي قد تم تحديثه أيضًا.
تطبيق استخبارات الوقت باستخدام كود M.
يدور نموذجي حول بيانات المبيعات . نظرًا لأنني سأقوم ببعض المعلومات الاستخباراتية ، فسوف أحتاج إلى جدول التاريخ .
لذلك سأذهب إلى . في M-code Showcase ، سأنتقل إلى موضوع جدول التاريخ الموسع .
قم بالتمرير لأعلى الصفحة وانسخ الكود بالكامل .
بالعودة إلى النموذج الخاص بي ، سأقوم بإنشاء استعلام فارغ جديد وألصق رمز M فيه . اضغط على تم.
سأعيد تسمية هذا الاستعلام إلى fxCalendar .
بالنسبة للمعلمات الخاصة بي ، سأستخدم الأول من يناير لتاريخ البدء ويوم الحادي والثلاثين من يناير لتاريخ الانتهاء . ثم اضغط على Invoke.
بمجرد ظهور الجدول ، سأقوم بإعادة تسميته بالتواريخ .
تذكر أنني قمت بالفعل بإنشاء تاريخي البدء والانتهاء من خلال النظر في التاريخ الأول في عينة مجموعة البيانات وتعويض ذلك عن طريق DayOffset الخاص بي. لذلك يظهر fxStartDate هنا في الأول من يناير 2017 .
أما بالنسبة إلى fxEndDate ، فيعود ليوم 31 ديسمبر 2020 .
يمكنني العودة إلى جدول التواريخ وتحديث خطوة المصدر هناك أيضًا.
يسرد المعلمات بالترتيب الذي تم استدعاؤها. يجب أن تُظهر المعلمة الأولى تاريخ البدء .
سأقوم بتغيير ذلك إلى fxStartDate .
سأقوم أيضًا باستبدال المعلمة الثانية.
سأضع في fxEndDate .
بمجرد الضغط على Enter ، يكتمل التحويل. لدي الآن مجموعة بيانات ممارسة مُحدَّثة بالكامل وستظل دائمًا محدَّثة.
سأضغط فقط على إغلاق وتطبيق لقفل كل هذه الخطوات.
إنشاء جدول استعلام تاريخ ديناميكي في LuckyTemplates: برنامج تعليمي لمحرر الاستعلام
إعداد تاريخ بدء وتاريخ انتهاء ديناميكيين لجداول تاريخ Power Query
باستخدام وظيفة الإزاحة في جداول التاريخ الممتدة
خاتمة
كما ذكرت سابقًا ، فإن امتلاك مجموعة بيانات ممارسة ديناميكية سيعمل بالتأكيد على رفع مستوى لعبتك عندما يتعلق الأمر بـ LuckyTemplates. يسمح لك بممارسة مهاراتك ومعرفتك أثناء التظاهر بأنك تعمل على سيناريو من واقع الحياة.
إذا كنت تريد معرفة المزيد حول جعل تواريخ البدء والانتهاء الخاصة بك ديناميكية خاصة بالنسبة لمجموعة بيانات الممارسة التي تستخدمها ، فيمكنك الاطلاع على منتدى LuckyTemplates. هناك الكثير من المحادثات حول هذا بالإضافة إلى الموضوعات الأخرى ذات الصلة. قد تجد أيضًا طرقًا أخرى تناسبك.
أتمنى لك كل خير،
ميليسا
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.