تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
في هذا البرنامج التعليمي ، ستتعرف على التعبيرات المتداخلة والكائنات والبيئات في Power Query . سيتم استخدام التعبيرات والمتغيرات المتداخلة لمناقشة كيفية عمل البيئات والمساعدة في إنشاء البيانات. ستتعلم أيضًا كيفية التعامل مع السيناريوهات الشائعة عند تحويل الكائنات المتداخلة.
جدول المحتويات
تكوين تعبيرات متداخلة
يتم تعريف التعبيرات على أنها صيغة تستخدم لبناء القيمة.
يتم إنشاء التعبير في شريط الصيغة من التعبيرات الفرعية. تمثل الحرفان 1 و 2 تعبيرات فرعية للتعبير الأصلي.
يتم تعريف المتغيرات على أنها قيم مسماة. هذا نموذج سجل.
إذا فتحت نافذة المحرر المتقدم ، يمكنك رؤية المتغيرات المستخدمة في الاستعلام.
تمثل كل من المتغيرات a و b و c قيمة ناتجة عن تعبير ستجده غالبًا بعد علامة التساوي. تشكل جميع المتغيرات داخل التعبير الأصلي ، وهو السجل نفسه ، بيئة ذلك السجل. ضمن تلك البيئة ، يجب أن يكون كل متغير فريدًا.
لذلك إذا أضفت متغيرًا آخر يسمى c ، فسترى رسالة خطأ أسفل نافذة المحرر المتقدم.
يمكن للسجل الوصول إلى جميع التعبيرات الفرعية الخاصة به باستخدام المعرفات أو أسماء المتغيرات. ومع ذلك ، بالنسبة للتعبيرات المتداخلة داخل السجل ، تختلف كل بيئة لأنها تستطيع الوصول إلى جميع المتغيرات الأخرى في السجل باستثناء نفسها.
في هذا المثال ، يمكنك أن ترى أن المتغير c يشير إلى نفسه.
إذا ضغطت على "تم" ، فستتلقى رسالة خطأ.
إذا قمت باستخراج قيمة c عن طريق إضافة عامل تشغيل الوصول إلى العنصر ، فستحصل على نتيجة. يمكنك أيضًا الحصول على نفس النتيجة باستخدام تعبير let لأنه يتم تطبيق نفس القواعد عليه.
فهم التعبيرات المتداخلة في بيئة
هذا مثال آخر على قيمة السجل.
إذا فتحت نافذة المحرر المتقدم ، يمكنك أن ترى أن المتغيرين أ و ب يشتركان في نفس البيئة التي هي البيئة الخارجية. ستلاحظ أيضًا أن المتغيرات x و y و z هي تعبيرات فرعية للتعبير الأصلي a .
يمكن لكل متغير الوصول إلى جميع المتغيرات الأخرى داخل السجل المتداخل باستثناء أنفسهم. يمكنك استدعاء متغير موجود في بيئة مختلفة. في هذا المثال ، يمكنك أن ترى أن z يشير إلى b الموجود في البيئة الخارجية.
يمكن للمتغيرات x و y و z الوصول إلى b لأن b جزء من بيئة التعبير الأصلي الخاصة بهم. يمكنك أيضًا الحصول على نفس المتغير ولكن في بيئات مختلفة.
في هذا المثال الآخر ، يمكنك أن ترى أن السجل الداخلي والخارجي لهما متغير x .
يجب أن تكون المتغيرات فريدة في بيئتها الخاصة. سيتم استخدام أقرب x المخصصة للمتغير. في نموذج الاستعلام هذا ، يتم استخدام x الداخلي لأنه أقرب من منظور السجل أ .
في هذا الاستعلام الآخر ، يتم استخدام أقرب x الأقرب إلى المتغير b في التعبير.
يمكن أن يشير المتغير الخارجي b إلى المتغير x داخل التسجيلة a باستخدام عامل الوصول إلى العنصر. تحتاج إلى الرجوع إلى المتغير a ثم الوصول إلى x باستخدام مجموعة من الأقواس المربعة. بنفس الطريقة ، يمكن أن يشير التسجيل a إلى المتغير x داخل المتغير b .
عندما يتم دمج بيئة السجل المتداخل a مع متغيرات من التعبير الأصلي ، يؤدي ذلك إلى حدوث تعارض لأن x موجود مرتين ويجب أن تكون جميع المتغيرات فريدة في بيئتها. نظرًا لأن المتغير لا يمكن أن يشير إلى نفسه ، يتم حل التعارض بالرجوع إلى x الخارجي.
حل السيناريوهات الشائعة
السيناريو الشائع هو تحويل الكائنات المتداخلة. للتوضيح ، سيتم استخدام هذا الجدول.
إذا كنت تريد استرداد قيمة من الجدول الخارجي ووضعها في الجدول المتداخل ، فهناك طريقتان لتحقيق ذلك. الطريقة الأولى هي استخدام خيار إضافة عمود مخصص .
انقر فوق رمز الجدول في الزاوية اليسرى العلوية من جزء المعاينة وحدد إضافة عمود مخصص.
أدخل Temp كاسم عمود وأدخل عنصرًا نائبًا في صيغة العمود المخصصة . بمجرد الانتهاء ، اضغط على موافق.
داخل شريط الصيغة ، استبدل كل تعبير بوظيفة مخصصة عن طريق إضافة عمود إلى الجدول المتداخل. ابدأ المنطق لوظيفة مخصصة وقم بتسميتها OT للجدول الخارجي. ثم أضف علامة go-to.
بعد ذلك ، استخدم الدالة Table.AddColumn لإضافة عمود. ارجع إلى الجدول الموجود في الجدول الخارجي الموجود في عمود الأسماء. ثم أدخل اسم عمود جديد.
في هذا المثال ، اسم العمود المستخدم هو "الإيرادات" . أدخل كل دالة للحصول على قيم كل صف في عمود الحصول على الإيرادات.
إذا قمت بالنقر فوق المساحة الموجودة داخل خلية صف في عمود Temp ، فستحصل على معاينة للجدول المتداخل أسفل جزء المعاينة. سترى أن كل صف له قيمة الجدول الخارجي.
استخدام المتغيرات لتخزين القيم
الطريقة الثانية لتحويل الكائنات المتداخلة هي استخدام المتغيرات لتخزين القيم. أولاً ، أضف عمودًا مخصصًا وأدخل Temp2 كاسم عمود. بالنسبة للصيغة ، استخدم تعبير let لتخزين القيم في المتغيرات.
أدخل اسمحوا ثم اكتب اسم متغير. في هذا المثال ، اسم المتغير هو myR . بعد ذلك ، قم بمساواة المتغير بعمود الحصول على الإيرادات. بعد ذلك ، أدخل جملة in واستخدم الدالة Table.AddColumn لإضافة عمود إلى الجدول المتداخل.
بالنسبة للمعلمة الأولى للوظيفة ، أدخل عمود الأسماء الذي يحتوي على الجداول المتداخلة. بعد ذلك ، قم بتسمية العمود الجديد "الإيرادات". استخدم كل لاستدعاء متغيرات كل صف.
إذا قمت بالنقر فوق المساحة الموجودة داخل خلية صف في عمود Temp2 ، فسترى أنها استردت القيم من الجدول الخارجي.
السيناريو الشائع الآخر هو البحث حيث لا يوجد مفتاح مشترك. في هذا السيناريو ، سيتم استخدام جدولين نموذجيين: جدول فئة وجدول منتج .
استخدم جدول الفئات كاستعلام مرحلي لتكمل سمات جدول أبعاد المنتج. نظرًا لعدم وجود مفتاح مشترك ، لا يمكن إجراء الدمج. أول شيء يجب فعله هو تضمين جدول الفئات بالكامل في استعلام جدول المنتج باستخدام إضافة عمود مخصص.
أضف عمودًا مخصصًا واكتب الفئة كاسم عمود. ثم في الصيغة المخصصة ، اتصل باستعلام الفئة.
بعد ذلك ، قمت الآن بتداخل جدول الفئات الكامل في كل صف من جدول المنتج.
عند النقر فوق المساحة الموجودة داخل خلية الصف في عمود الفئة ، يمكنك رؤية جدول الفئات الكامل في كل صف.
استرجاع قيمة واحدة
إذا كنت تريد استرداد قيمة واحدة فقط ، فأنت بحاجة إلى تصفية جدول الفئات وصولاً إلى صف واحد حيث يوجد تطابق لجزء من السلسلة من المنتج مع مجموعة المنتجات في جدول الفئات.
افتح مربع حوار عمود مخصص بالضغط على زر الترس بجانب التخصيص المُضاف في جزء الخطوات المطبقة.
في الصيغة ، أضف الدالة Table.SelectRows . بالنسبة للمعلمة الأولى ، يتم استخدام جدول الفئات. استخدمت المعلمة الثانية وظيفة Text.Contains كشرط. بالنسبة للجدول الداخلي ، تتحقق هذه الوظيفة مما إذا كان النص يحتوي على جزء من سلسلة المنتج في الجدول الخارجي.
عند الوصول إلى الجدول الخارجي ، ستلاحظ أن Power Query يضيف كل كلمة أساسية داخل شريط الصيغة. إنها دالة أحادية تأخذ الشرطة السفلية ( _ ) كمتغير مجهول. ومع ذلك ، نظرًا لأنك تقوم بالوصول إلى عمود فقط ، فيمكن حذفه.
إذا قمت بالنقر فوق المساحة الموجودة داخل خلية صف ما في عمود الفئة ، فسترى الآن صفًا واحدًا في كل جدول من الجداول المتداخلة.
من هناك ، يمكنك استخراج قيمة للفئة بمجموعة من مشغلي الوصول إلى الصف والحقل.
ارجع إلى مربع حوار العمود المخصص وأضف عوامل التشغيل في الصيغة. للحصول على الصف الأول من الجدول ، أدخل 0 داخل مجموعة من الأقواس المتعرجة. ثم قم بإدراج اسم الحقل الفئة داخل مجموعة من الأقواس المربعة.
لإثبات الحل في المستقبل ، يمكنك إضافة علامة استفهام ( ؟ ) في النهاية لتغيير السلوك غير الموجود من إرجاع خطأ إلى قيمة خالية.
كيف يعمل محرر الاستعلام في
لغة LuckyTemplates M ومحرر Power Query في LuckyTemplates
خاتمة
تساعد البيئات والتعبيرات المتداخلة الاستعلام الخاص بك على إبراز قيم معينة من أكوادك لتقديم نتائج مرغوبة. يعد إدراكها أمرًا مهمًا عند كتابة الوظائف لأنك عندما تفهمها ، ستتمكن من حل سيناريوهات أكثر تقدمًا وتعقيدًا.
ميليسا
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.