إنشاء مجموعات حساب

مكتمل

في هذه الوحدة، ستقوم بإنشاء مجموعتين حسابيتين. قبل إنشاء مجموعات الحساب، ستراجع نموذج بيانات العينة وتنشئ بعض المقاييس.

المهمة 1: مراجعة نموذج البيانات

قم بتنزيل ملف Adventure Works DW 2020 M08.pbix وفتحه.

تحقق من تثبيت Tabular Editor 2.

ملاحظة

إذا لم تظهر علامة تبويب الشريط External Tools، أو إذا لم تتضمن علامة التبويب هذه Tabular Editor، فارجع إلى الوحدة 2 للحصول على إرشادات حول كيفية إكمال التثبيت.

في Power BI Desktop، قم بالتبديل إلى طريقة عرض Model ثم راجع تصميم النموذج.

يتكون النموذج من سبعة جداول أبعاد وجدولي حقائق. يخزّن جدول حقائق Sales تفاصيل أمر المبيعات. يخزّن جدول حقائق Currency Rate أسعار صرف العملات اليومية لعملات متعددة. إنه تصميم مخطط نجمي كلاسيكي.

قم بالتبديل إلى طريقة عرض Report، ثم في جزء Fields (الموجود إلى اليمين)، قم بتوسيع جدول Sales لمراجعة الحقول.

لقطة شاشة توضح توسيع جدول Sales في جزء الحقول.

تم تزيين حقلي جدول Sales برمز سيجما (∑). يشير رمز sigma إلى أن الحقول سيتم تلخيصها تلقائيًا باستخدام دالات التجميع، مثل المجموع أو العدد أو المتوسط أو غيرها.

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

المهمة 2: إنشاء مقاييس

في جزء Fields، انقر بزر الماوس الأيمن فوق جدول Sales، ثم حدد New measure.

لقطة شاشة تبرز مقياسًا جديدًا ضمن جدول المبيعات في جزء Fields.

في شريط الصيغة (الموجود أسفل الشريط)، استبدل النص بتعريف المقياس التالي ثم حدد Enter.

Sales = SUM('Sales'[Sales Amount])

تلميح

يمكنك نسخ تعليمات DAX البرمجية عن طريق الضغط على Copy.

لقطة شاشة تعرض الأمر Copy الموجود في الزاوية العلوية اليمنى من كتلة تعليمات DAX البرمجية.

في علامة تبويب الشريط السياقي Measure tools (تتوفر عندما يكون المقياس في التركيز)، قم بتنسيق المقياس لاستخدام منزلتين عشريتين.

لقطة شاشة تبرز تنسيق المقياس لاستخدام منزلتين عشريتين.

إنشاء مقياس ثانٍ يسمى Cost وتنسيقه بصورة مماثلة باستخدام التعريف التالي:

Cost = SUM('Sales'[Total Product Cost])

إنشاء مقياس ثالث يسمى Profit وتنسيقه بصورة مماثلة باستخدام التعريف التالي:

Profit = [Sales] - [Cost]

في جزء Fields، انقر بزر الماوس الأيمن فوق حقل Sales Amount، ثم حدد Hide.

لقطة شاشة تبرز تحديد Hide بعد النقر فوق Sales Amount في جزء الحقول.

قم أيضًا بإخفاء حقل Total Product Cost.

الآن، يتم إدراج جدول Sales أولاً في جزء Fields، ويتم تزيينه بأيقونة حاسبة متعددة.

لقطة شاشة تبرز جدول Sales المدرج في جزء الحقول مع أيقونة حاسبة متعددة.

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

المهمة 3: إنشاء مجموعة حساب تحليل معلومات الوقت

الآن، ستستخدم Tabular Editor لإنشاء مجموعة حساب. ستؤدي إلى تبسيط إنشاء العديد من الحسابات المتعلقة بالوقت، بما في ذلك PY (السنة السابقة) وYoY (عام بعد عام) وYoY % (النسبة المئوية عام بعد عام). ستسمح لك مجموعة الحساب بتحليل أي مقياس باستخدام حسابات تحليل معلومات الوقت المختلفة.

في شريط External Tools، حدد Tabular Editor.

لقطة شاشة مميزة لتحديد Tabular Editor على شريط External Tools.

في نافذة Tabular Editor، في الجزء الأيسر، انقر بزر الماوس الأيمن فوق مجلد Tables ثم حدد Create New > Calculation Group.

لقطة شاشة مميزة لتحديد Calculation Group ضمن الخيار Create New في الجداول.

في الجزء الأيسر، استبدل الاسم الافتراضي بـ Time Intelligence ثم حدد Enter. ثم قم بتوسيع جدول Time Intelligence.

تتكون مجموعة الحساب من هذا العمود الفردي، بينما تحدد صفوف البيانات مجموعة الحسابات. من الممارسات الجيدة إعادة تسمية العمود ليعكس موضوع الحسابات. حدد عمود Name.

لقطة شاشة مميزة لتحديد عمود Name لإعادة تسمية العمود ليعكس موضوع الحسابات.

في جزء Properties (الموجود في الزاوية السفلية اليمنى)، حدد خاصية Name ثم أعد تسميتها باسم Time Calculation.

لقطة شاشة مميزة لتحديد خاصية Name ثم إعادة تسميتها باسم Time calculations.

لإنشاء عنصر حساب، انقر بزر الماوس الأيمن فوق جدول Time Intelligence ثم حدد Create New > Calculation Item.

لقطة شاشة مميزة لتحديد Calculation Item ضمن إنشاء خيار جديد في جدول Time intelligence.

في الجزء الأيسر، استبدل الاسم الافتراضي بـ Current ثم حدد Enter.

في جزء Expression Editor (الموجود أعلى جزء Properties)، أدخل الصيغة التالية:

SELECTEDMEASURE()

لقطة شاشة تعرض "SELECTEDMEASURE" مكتوبة في محرر التعبير.

ترجع الدالة SELECTEDMEASURE DAX مرجعًا إلى المقياس الموجود حاليًا في السياق عند تقييم عنصر الحساب. في هذا النموذج، قد يكون مقياس Sales أو Cost أو Profit.

في شريط أدوات جزء Expression Editor، حدد أيقونة علامة الاختيار لقبول التغييرات.

لقطة شاشة مميزة لتحديد أيقونة علامة الاختيار لقبول التغييرات في Expression Editor.

إنشاء عنصر حساب ثانٍ يسمى PY باستخدام الصيغة التالية:

CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR('Date'[Date]))

تحسب هذه الصيغة قيمة المقياس المحدد في السنة السابقة.

إنشاء عنصر حساب ثالث يسمى YoY باستخدام الصيغة التالية:

SELECTEDMEASURE()
    - CALCULATE(SELECTEDMEASURE(), 'Time Intelligence'[Time Calculation] = "PY")

تحسب الصيغة «عام بعد عام» (YoY) الفرق بين المقياس المحدد للسنة الحالية والسنة السابقة.

إنشاء عنصر حساب رابع يسمى YoY % باستخدام الصيغة التالية:

DIVIDE(
    CALCULATE(SELECTEDMEASURE(), 'Time Intelligence'[Time Calculation] = "YoY"),
    CALCULATE(SELECTEDMEASURE(), 'Time Intelligence'[Time Calculation] = "PY")
)

تحسب صيغة النسبة المئوية عام بعد عام (YoY %) تغيير النسبة المئوية للمقياس المحدد على مدار السنة السابقة.

في جزء Properties، قم بتعيين الخاصية Format String Expression إلى "0.00%;-0.00%;0.00%".

لقطة شاشة مميزة لتعيين Format String Expression ضمن جزء Properties.

تحقق من أن مجموعة حساب Time Intelligence تحتوي على أربعة عناصر حسابية.

لقطة شاشة تبرز مجموعة حساب تحليل معلومات الوقت تحتوي على أربعة عناصر حسابية.

لحفظ التغييرات في نموذج Power BI Desktop، في القائمة File، حدد Save (أو اضغط على اختصار لوحة المفاتيح Ctrl+S).

لقطة شاشة تبرز الخيار Save ضمن قائمة الملف أو اضغط على Ctrl + s من لوحة المفاتيح.

قم بالتبديل مرة أخرى إلى Power BI Desktop، حيث سيتم عرض شعار أصفر عبر الجزء العلوي من مصمم التقرير.

لقطة شاشة للشعار الأصفر عبر الجزء العلوي من مصمم التقرير الذي يعرض تحذيرًا.

على يمين الشعار، حدد Refresh now.

لقطة شاشة تعرض الزر Refresh now في الجزء العلوي الأيمن من الشعار.

سيطبق التحديث التغييرات عن طريق إنشاء مجموعة الحساب كجدول نموذج. بعد ذلك، سيتم تحميل عناصر الحساب كصفوف من البيانات.

في جزء Fields، قم بتوسيع جدول Time Intelligence.

لقطة شاشة مميزة لتوسيع جدول Time intelligence في جزء Fields.

المهمة 4: تحديث عنصر تحكم المصفوفة

في التقرير، حدد عنصر تحكم المصفوفة. بعد ذلك، في جزء Visualizations، في علبة Values، حدد X لإزالة حقل Sales Amount.

لقطة شاشة مميزة لتحديد "X" لإزالة حقل Sales amount.

في جزء Fields، من داخل جدول Sales، اسحب حقل Sales إلى علبة Values.

لقطة شاشة مميزة لسحب جدول Sales إلى Values في جزء Fields.

من جزء Fields، من داخل جدول Time Intelligence، اسحب الحقل Time Calculation إلى علبة Columns.

لقطة شاشة تبرز حقول Time calculation في علبة Column من جدول Time intelligence.

تحقق من أن عنصر تحكم المصفوفة يعرض شبكة من قيم مقياس Sales ذات الصلة بالوقت التي يتم تجميعها حسب الشهر.

عنصر تحكم مصفوفة يعرض المبيعات الشهرية للسنة المالية 2022 مما يؤدي إلى توفير ثلاث وجهات نظر مختلفة.

لاحظ تنسيق كل مقياس. عادة ما يستمد Power BI التنسيق من المقياس المحدد. ومع ذلك، تذكر أنك قمت بتعيين تعبير سلسلة التنسيق لمقياس YoY % لإنتاج تنسيق النسبة المئوية.

المهمة 5: إنشاء مجموعة حساب تحويل العملة

مهمتك التالية هي إنشاء مجموعة حساب تحويل العملة. ستوفر مجموعة الحساب هذه مرونة لتحويل مقاييس جدول Sales إلى عملات مختلفة.

قم بالتبديل إلى طريقة عرض Data ثم حدد جدول Currency. لاحظ العمود FormatString المخفي الذي يحتوي على تعبيرات سلسلة التنسيق.

لقطة شاشة تبرز عمود Format String المخفي الذي يحتوي على تعبيرات سلسلة التنسيق.

قم بالتبديل إلى Tabular Editor ثم أنشئ مجموعة حساب تسمى Currency Conversion.

لقطة شاشة مميزة لإنشاء اسم مجموعة الحساب Currency Conversion.

أعد تسمية عمود Name إلى Converted Currency.

لقطة شاشة مميزة لإعادة تسمية العمود كعملة محولة.

إنشاء عنصر حساب يسمى Currency Conversion باستخدام الصيغة التالية:

IF(
    HASONEVALUE('Currency'[Currency]),
    SUMX(
        VALUES('Date'[Date]),
        CALCULATE(
            DIVIDE(SELECTEDMEASURE(), MAX('Currency Rate'[EndOfDayRate]))
        )
    )
)

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

احفظ التغييرات في نموذج Power BI Desktop، ثم قم بالتبديل إلى Power BI Desktop وحدّث التغييرات.

قم بالتبديل إلى طريقة عرض Report ثم حدد عنصر تحكم المصفوفة.

من جزء Fields، من داخل جدول Currency Conversion، اسحب الحقل Converted Currency إلى جزء Filters، إلى Filter في هذه المجموعة المرئية.

لقطة شاشة مميزة لسحب حقل Converted Currency إلى جزء Filters.

في بطاقة عامل التصفية، تحقق من قيمة Currency Conversion.

لقطة شاشة مميزة للتحقق من قيمة Currency Conversion في بطاقة عامل التصفية.

في مقسم طريقة العرض Currency، حدد عملة مختلفة، ثم في عنصر تحكم المصفوفة، لاحظ القيم المحدّثة. قد تلاحظ أن هناك خطأ ما. تم تنسيق كافة القيم باستخدام رمز العملة (حدث للعملات التي لا تستخدم هذا الرمز)، وقيم YoY % غير صحيحة الآن.

عنصر تحكم المصفوفة يوضحه أنه في مقسم طريقة العرض Currency، حدد عملة مختلفة، ويمكنك ملاحظة القيم المحدّثة.

ستتم معالجة مشكلة التنسيق عند التعرّف على التنسيق الديناميكي في الوحدة التالية. ستتم أيضًا معالجة المشكلة المتعلقة بمقياس YoY % في الوحدة التالية عند التعرّف على أسبقية الحساب.

قم بإعادة مقسم طريقة العرض Currency إلى US Dollar.

لقطة شاشة تعرض إعادة مقسم طريقة عرض العملة إلى الدولار الأمريكي.