واحدة من أقوى الميزات في Power Pivot هي القدرة على إنشاء علاقات بين الجداول ثم استخدام الجداول ذات الصلة للبحث عن البيانات ذات الصلة أو تصفيتها. يمكنك استرداد القيم ذات الصلة من الجداول باستخدام لغة الصيغة المتوفرة معPower Pivot ، تعبيرات تحليل البيانات (DAX). يستخدم DAX نموذجا ارتباطيا وبالتالي يمكنه استرداد القيم ذات الصلة أو المقابلة بسهولة ودقة في جدول أو عمود آخر. إذا كنت على دراية ب VLOOKUP في Excel، فإن هذه الوظيفة في Power Pivot متشابهة، ولكنها أسهل بكثير في التنفيذ.
يمكنك إنشاء صيغ تقوم بالبحث كجزء من عمود محسوب، أو كجزء من مقياس للاستخدام في PivotTable أو PivotChart. لمزيد من المعلومات، انظر المواضيع التالية:
الأعمدة المحسوبة في PowerPivot
يصف هذا القسم دالات DAX المقدمة للبحث، جنبا إلى جنب مع بعض الأمثلة حول كيفية استخدام الدالات.
ملاحظة: اعتمادا على نوع عملية البحث أو صيغة البحث التي تريد استخدامها، قد تحتاج إلى إنشاء علاقة بين الجداول أولا.
فهم وظائف البحث
تعد القدرة على البحث عن بيانات مطابقة أو بيانات ذات صلة من جدول آخر مفيدة بشكل خاص في الحالات التي يحتوي فيها الجدول الحالي على معرف من نوع ما فقط، ولكن يتم تخزين البيانات التي تحتاجها (مثل سعر المنتج أو الاسم أو القيم التفصيلية الأخرى) في جدول ذي صلة. كما أنه مفيد عندما يكون هناك صفوف متعددة في جدول آخر مرتبط بالصف الحالي أو القيمة الحالية. على سبيل المثال، يمكنك بسهولة استرداد جميع المبيعات المرتبطة بمنطقة أو متجر أو مندوب مبيعات معين.
على النقيض من دالات البحث في Excel مثل VLOOKUP، والتي تستند إلى صفائف، أو LOOKUP، والتي تحصل على أول قيم مطابقة متعددة، يتبع DAX العلاقات الموجودة بين الجداول المنضمة بواسطة المفاتيح للحصول على القيمة ذات الصلة المفردة التي تتطابق تماما. يمكن ل DAX أيضا استرداد جدول السجلات المرتبطة بالسجل الحالي.
ملاحظة: إذا كنت على دراية بقواعد البيانات الارتباطية، يمكنك التفكير في عمليات البحث في Power Pivot على أنها مشابهة لعبارة تحديد فرعي متداخلة في Transact-SQL.
استرداد قيمة مرتبطة واحدة
ترجع الدالة RELATED قيمة واحدة من جدول آخر مرتبط بالقيمة الحالية في الجدول الحالي. يمكنك تحديد العمود الذي يحتوي على البيانات التي تريدها، وتتبع الدالة العلاقات الموجودة بين الجداول لجلب القيمة من العمود المحدد في الجدول ذي الصلة. في بعض الحالات، يجب أن تتبع الدالة سلسلة من العلاقات لاسترداد البيانات.
على سبيل المثال، افترض أن لديك قائمة بالشحنات الحالية في Excel. ومع ذلك، تحتوي القائمة على رقم معرف الموظف فقط ورقم معرف الطلب ورقم معرف الشاحن، ما يجعل التقرير صعبا على القراءة. للحصول على المعلومات الإضافية التي تريدها، يمكنك تحويل هذه القائمة إلى جدول مرتبط Power Pivot ، ثم إنشاء علاقات بجداول الموظف والمورد، ومطابقة EmployeeID مع الحقل EmployeeKey، و ResellerID إلى الحقل ResellerKey.
لعرض معلومات البحث في الجدول المرتبط، يمكنك إضافة عمودين محسوبين جديدين، باستخدام الصيغ التالية:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])شحنات اليوم قبل البحث
معرّف الطلب |
Employeeid |
معرف البائع |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
جدول الموظفين
Employeeid |
الموظف |
موزع |
---|---|---|
230 |
كوبا فامزي |
أنظمة دورة نمطية |
15 |
Pilar Ackeman |
أنظمة دورة نمطية |
76 |
كيم رالز |
الدراجات المرتبطة |
شحنات اليوم مع عمليات البحث
معرّف الطلب |
Employeeid |
معرف البائع |
الموظف |
موزع |
---|---|---|---|---|
100314 |
230 |
445 |
كوبا فامزي |
أنظمة دورة نمطية |
100315 |
15 |
445 |
Pilar Ackeman |
أنظمة دورة نمطية |
100316 |
76 |
108 |
كيم رالز |
الدراجات المرتبطة |
تستخدم الدالة العلاقات بين الجدول المرتبط وجدول الموظفين والموردين للحصول على الاسم الصحيح لكل صف في التقرير. يمكنك أيضا استخدام القيم ذات الصلة للحسابات. لمزيد من المعلومات والأمثلة، راجع الدالة ذات الصلة.
استرداد قائمة بالقيم ذات الصلة
تتبع الدالة RELATEDTABLE علاقة موجودة، وترجع جدولا يحتوي على كافة الصفوف المتطابقة من الجدول المحدد. على سبيل المثال، افترض أنك تريد معرفة عدد الطلبات التي وضعها كل بائع هذا العام. يمكنك إنشاء عمود محسوب جديد في جدول البائعين يتضمن الصيغة التالية، والذي يبحث عن سجلات لكل بائع في الجدول ResellerSales_USD، ويحسب عدد الطلبات الفردية التي وضعها كل بائع.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
في هذه الصيغة، تحصل الدالة RELATEDTABLE أولا على قيمة ResellerKey لكل بائع في الجدول الحالي. (لا تحتاج إلى تحديد عمود المعرف في أي مكان في الصيغة، لأن Power Pivot يستخدم العلاقة الموجودة بين الجداول.) ثم تحصل الدالة RELATEDTABLE على جميع الصفوف من الجدول ResellerSales_USD المرتبط بكل بائع، وتحسب الصفوف. إذا لم تكن هناك علاقة (مباشرة أو غير مباشرة) بين الجدولين، فستحصل على جميع الصفوف من الجدول ResellerSales_USD.
بالنسبة إلى أنظمة دورة وحدات البائع في نموذج قاعدة البيانات لدينا، هناك أربعة أوامر في جدول المبيعات، لذلك ترجع الدالة 4. بالنسبة إلى الدراجات المقترنة، لا يملك البائع أي مبيعات، لذلك ترجع الدالة فارغة.
موزع |
السجلات في جدول المبيعات لهذا البائع |
|
---|---|---|
أنظمة دورة نمطية |
معرف البائع |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
معرف البائع |
SalesOrderNumber |
|
الدراجات المرتبطة |
ملاحظة: نظرا لأن الدالة RELATEDTABLE ترجع جدولا، وليس قيمة واحدة، يجب استخدامها كوسيطة لدالة تقوم بإجراء عمليات على الجداول. لمزيد من المعلومات، راجع الدالة RELATEDTABLE.