العمل باستخدام العلاقات والعلاقات الأساسية

مكتمل

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

على سبيل المثال، لقد قمت باسترداد العديد من الجداول من قاعدة بيانات "المبيعات"، والصورة التالية هي مثال على نموذج البيانات الخاص بك. قام Power BI بالكشف تلقائياً عن عدة علاقات، لكن لا يمكنك معرفة ما تعنيه. عليك التأكد من أن العلاقات تمثل بدقة تلك العلاقات الموجودة بين بياناتك.

لقطة شاشة لمثال نموذج البيانات

العلاقات

فيما يلي أنواع مختلفة من العلاقات التي ستجدها في Power BI.

علاقة متعدد إلى واحد (*:1) أو واحد إلى متعدد (1: *)

  • علاقة ترتبط فيها مثيلات عديدة لقيمة في عمود واحد بمثيل واحد فقط مناظر فريد في عمود آخر.

  • تصف اتجاهية العلاقات بين جداول الحقائق والأبعاد.

  • هي النوع الأكثر شيوعاً من اتجاهية العلاقات والخيار الافتراضي لـ Power BI عند إنشاء علاقات تلقائياً.

مثال على علاقة من واحد إلى عديد ستكون العلاقة بين جدول CountryName والمناطق، حيث يمكن أن يكون لديك العديد من المناطق التي ترتبط ببلد فريد واحد.

لقطة شاشة لعلاقة من عديد إلى واحد.

علاقة واحد لواحد (1:1):

  • علاقة يكون فيها مثيل واحد فقط لقيمة مشترك بين جدولين.

  • تتطلب قيماً فريدة في كلا الجدولين.

  • لا ينصح باستخدامها لأن هذه العلاقة تخزن المعلومات المكررة وتشير إلى أن النموذج غير مصمم بشكل صحيح. ومن الأفضل دمج الجداول معاً.

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

لقطة شاشة لعلاقة من واحد لواحد.

علاقة متعدد إلى متعدد (.):

  • هي العلاقة حيث تكون قيم كثيرة مشتركة بين جدولين.

  • لا تتطلب قيم فريدة في أي جدول في العلاقة.

  • لا ينصح باستخدامها، وذلك لأن عدم وجود قيم فريدة يتسبب في نوع من الغموض وقد لا يستطيع المستخدمون معرفة أي عمود من القيم يشير إلى ماذا.

على سبيل المثال، يوضح الشكل التالي علاقة متعدد إلى متعدد بين جدول"المبيعات" وجدول "الطلب" في العمود OrderDate وذلك لأنه من الممكن أن يكون لمبيعات عديدة طلبات كثيرة مقترنة بها. يتسبب هذا في خلق نوع من الغموض لأنه من الممكن أن يكون لكلا الجدولين تاريخ الأمر نفسه.

لقطة شاشة لعلاقة متعدد إلى متعدد.

اتجاه التصفية التبادلية

يمكن تصفية البيانات على أحد جانبي العلاقة أو كليهما.

باستخدام اتجاه واحد للتصفية التبادلية:

  • يمكن استخدام جدول واحد فقط في علاقة لتصفية البيانات. على سبيل المثال، يمكن تصفية الجدول 1 حسب الجدول 2، ولكن لا يمكن تصفية الجدول 2 حسب الجدول 1.

    تلميح

    اتبع اتجاه سهم العلاقة بين الجداول لمعرفة اتجاه عمل عامل التصفية. في أغلب الأحيان، يجب أن تشير هذه الأسهم إلى جدول الحقائق الخاص بك.

  • بالنسبة إلى علاقة من واحد إلى عديد أو من عديد إلى واحد، سيكون اتجاه عامل التصفية المتداخلة من الجانب "واحد"، ما يعني أن التصفية ستحدث في الجدول الذي يحتوي على العديد من القيم.

باستخدام اتجاهي التصفية التبادلية أو التصفية التبادلية ثنائية الاتجاه:

  • يمكن استخدام جدول واحد في علاقة لتصفية الآخر. على سبيل المثال، يمكن تصفية جدول أبعاد باستخدام جدول الحقائق، ويمكن تصفية جداول الحقائق باستخدام جدول الأبعاد.

  • قد تجد الأداء أبطأ عند استخدام التصفية التبادلية ثنائية الاتجاه مع العلاقات متعدد إلى متعدد.

تحذير بخصوص التصفية التبادلية ثنائية الاتجاه: يجب عدم تمكين التصفية التبادلية ثنائية الاتجاه للعلاقات قبل أن تفهم تماماً تداعيات القيام بذلك. قد يتسبب تمكينها في حالة من الغموض، وإفراط في أخذ العينات، ونتائج غير المتوقعة، وانخفاض محتمل للأداء.

اتجاه التصفية التبادلية والعلاقة الأساسية

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

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

لهذا السبب، تُعد العلاقات متعدد إلى متعدد و/أو العلاقات الثنائية الاتجاه معقدة. وما لم تكن متأكداً من كيفية ظهور البيانات عند تجميعها، يمكن لهذه الأنواع من العلاقات المفتوحة التي لها اتجاهات تصفية متعددة، إنتاج مسارات متعددة عبر البيانات.

إنشاء علاقات متعدد إلى متعدد

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

لقطة شاشة لعلاقة متعدد إلى متعدد.

لإنشاء هذه العلاقة، انتقل إلى إدارة العلاقات > علاقة جديدة. في النافذة الناتجة، أنشئ علاقة بين عمود معرف العميل في جدولي CustomerTable وAccountTable. يتم تعيين العلاقة على العلاقة متعدد إلى متعدد، ويكون نوع عامل التصفية في كلا الاتجاهين. سيتم تحذيرك على الفور بأنه يجب عليك استخدام هذا النوع من العلاقات فقط، إذا كان من المتوقع ألا يحتوي أي من العمودين على قيم فريدة وذلك لأنك قد تحصل على قيم غير متوقعة. إذا أردت التصفية في الاتجاهين، اختر التصفية التبادلية ثنائية الاتجاه.

حدد موافق. لقد قمت الآن بإنشاء علاقة متعدد إلى متعدد بنجاح.

لقطة شاشة لعلاقة متعدد إلى متعدد في إدارة العلاقات.

لمزيد من المعلومات، راجع العلاقات متعدد إلى متعدد في Power BI.