إحدى الميزات الأكثر قوة في 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 ، ثم إنشاء علاقات إلى جدولي "الموظف" و"البائع"، مع مطابقة "الموظف" مع الحقل EmployeeKey، و"ResellerID" إلى الحقل "بائع المفتاح".
لعرض معلومات البحث في الجدول المرتبط، يمكنك إضافة عمودين محسوبين جديدين، باستخدام الصيغ التالية:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])
شحنات اليوم قبل البحث
معرّف الطلب |
EmployeeID |
ResellerID |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
جدول الموظفين
EmployeeID |
الموظف |
البائع |
---|---|---|
230 |
Kuppa Vamsi |
أنظمة الدورات النمطية |
15 |
Pilar Ackeman |
أنظمة الدورات النمطية |
76 |
كيم رالز |
دراجات مقترنة |
شحنات اليوم مع عمليات البحث
معرّف الطلب |
EmployeeID |
ResellerID |
الموظف |
البائع |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
أنظمة الدورات النمطية |
100315 |
15 |
445 |
Pilar Ackeman |
أنظمة الدورات النمطية |
100316 |
76 |
108 |
كيم رالز |
دراجات مقترنة |
تستخدم الدالة العلاقات بين الجدول المرتبط جدول الموظفين و البائعين للحصول على الاسم الصحيح لكل صف في التقرير. يمكنك أيضا استخدام القيم ذات الصلة للحسابات. لمزيد من المعلومات والأمثلة، راجع الدالة RELATED.
استرداد قائمة بالقيم المرتبطة
تتبع الدالة RELATEDTABLE علاقة موجودة، وترجع جدولا يحتوي على كل الصفوف المتطابقة من الجدول المحدد. على سبيل المثال، افترض أنك تريد معرفة عدد الطلبات التي طلبها كل بائع هذا العام. يمكنك إنشاء عمود محسوب جديد في جدول "البائعون" يتضمن الصيغة التالية، التي تبحث عن سجلات لكل بائع في جدول ResellerSales_USD، وتحسب عدد الطلبات الفردية التي وضعها كل بائع.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
في هذه الصيغة، تحصل الدالة RELATEDTABLE أولا على قيمة ResellerKey لكل بائع في الجدول الحالي. (لست بحاجة إلى تحديد عمود الم ID في أي مكان في الصيغة، لأن Power Pivot يستخدم العلاقة الموجودة بين الجداول.) بعد ذلك، تحصل الدالة RELATEDTABLE على كل الصفوف ResellerSales_USD الجدول المرتبطة بكل بائع، وتحسب الصفوف. إذا لم تكن هناك علاقة (مباشرة أو غير مباشرة) بين الجدولين، ستحصل على كل الصفوف من الجدول ResellerSales_USD.
بالنسبة إلى "أنظمة الدورة النمطية" لموزع في قاعدة البيانات العينة، هناك أربعة طلبات في جدول المبيعات، لذا ترجع الدالة 4. بالنسبة للدراجات المقترنة، لا يكون للموزع مبيعات، لذا ترجع الدالة فارغا.
البائع |
السجلات في جدول المبيعات لهذا البائع |
|
---|---|---|
أنظمة الدورات النمطية |
"معرّف البائع" |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
"معرّف البائع" |
SalesOrderNumber |
|
دراجات مقترنة |
ملاحظة: نظرا لأن الدالة RELATEDTABLE ترجع جدولا، وليس قيمة واحدة، يجب استخدامها ك الوسيطة للدالة التي تقوم بتنفيذ عمليات على الجداول. لمزيد من المعلومات، راجع الدالة RELATEDTABLE.