تصف هذه المقالة بناء جملة صيغة الدالة CUBEVALUE وطريقة استخدامها في Microsoft Excel.
الوصف
تُرجع قيمة مجمّعة من المكعب.
بناء الجملة
CUBEVALUE(connection, [member_expression1], [member_expression2], …)
يحتوي بناء جملة الدالة CUBEVALUE على الوسيطتين التاليتين:
-
Connection مطلوبة. وهي سلسلة نصية لاسم الاتصال بالمكعب.
-
Member_expression اختيارية. وهي سلسلة نصية لتعبير متعدد الأبعاد (MDX) يتم تقييمه إلى عضو أو مجموعة داخل المكعب. ويمكن أن تكون member_expression بدلاً من ذلك عبارة عن مجموعة تم تعريفها باستخدام الدالة CUBESET. استخدم member_expression كمقسم طريقة عرض لتعريف جزء المكعب الذي يتم إرجاع القيمة المجمّعة له. إذا لم يتم تحديد أي مقياس في member_expression، فيتم استخدام المقياس الافتراضي لهذا المكعب.
ملاحظات
-
عند تقييم الدالة CUBEVALUE، إنها تعرض مؤقتاً الرسالة "#GETTING_DATA…" في الخلية قبل استرداد كافة البيانات.
-
إذا تم استخدام مرجع خلية لـ member_expression، وكان مرجع الخلية هذا يحتوي على إحدى دالات CUBE، فتستخدم member_expression تعبير MDX للعنصر الموجود في الخلية المرجعية، وليس القيمة المعروضة في تلك الخلية المرجعية.
-
إذا لم يكن اسم الاتصال اتصال مصنف صالحا مخزنا في المصنف، فترجع الدالة CUBEVALUE #NAME؟ وهي قيمة خطأ. إذا لم يكن خادم المعالجة التحليلية عبر الإنترنت (OLAP) قيد التشغيل أو غير متوفر أو يرجع رسالة خطأ، فترجع الدالة CUBEVALUE #NAME؟ وهي قيمة خطأ.
-
إذا كان عنصر واحد على الأقل داخل المجموعة غير صالح، فترجع الدالة CUBEVALUE #VALUE! وهي قيمة خطأ.
-
تُرجع الدالة CUBEVALUE قيمة الخطأ #N/A عندما:
-
يكون بناء جملة member_expression غير صحيح.
-
لا يكون العضو المعين بواسطة member_expression في المكعب.
-
تكون المجموعة غير صحيحة لعدم وجود أي تقاطع للقيم المعينة. (يمكن أن يحدث ذلك مع العناصر المتعددة من التسلسل الهيكلي نفسه).
-
تحتوي المجموعة على عضو واحد على الأقل ذي بُعد مختلف عن الأعضاء الآخرين.
-
قد تُرجع الدالة CUBEVALUE قيمة الخطأ #N/A إذا أشرت إلى عنصر يستند إلى جلسة عمل، مثل عضو محسوب أو مجموعة مسماة، في PivotTable عند مشاركة اتصال، ويتم حذف PivotTable هذا أو تحويل PivotTable إلى صيغ. (ضمن علامة التبويب خيارات، في المجموعة أدوات، انقر فوق أدوات OLAP، ثم فوق التحويل إلى صيغ).
-
المشكلة: يتم تحويل القيم الفارغة إلى سلاسل فارغة
في Excel، إذا كانت الخلية لا تحتوي على بيانات لأنك لم تقم بتغييرها أبدا أو حذفت المحتويات، فستحتوي الخلية على قيمة فارغة. في العديد من أنظمة قواعد البيانات، تسمى القيمة الفارغة قيمة Null. تعني القيمة الفارغة أو الفارغة حرفيا "بلا قيمة". ومع ذلك، لا يمكن للصيغة إرجاع سلسلة فارغة أو قيمة فارغة. ترجع الصيغة دائما إحدى القيم الثلاث: قيمة رقمية؛ وقيمة قيمة نصية، والتي قد تكون سلسلة ذات طول صفري، أو قيمة خطأ، مثل #NUM! أو #VALUE.
إذا كانت الصيغة تحتوي على دالة CUBEVALUE متصلة بقاعدة بيانات المعالجة التحليلية عبر الإنترنت (OLAP) ويؤدي الاستعلام إلى قاعدة البيانات هذه إلى قيمة Null، يحول Excel هذه القيمة Null إلى سلسلة صفرية الطول، حتى إذا كانت الصيغة سترجع قيمة رقم. يمكن أن يؤدي هذا إلى حالة حيث يحتوي نطاق الخلايا على مجموعة من قيم السلسلة الرقمية والقيم ذات الطول الصفري، ويمكن أن يؤثر هذا الموقف على نتائج الصيغ الأخرى التي تشير إلى نطاق الخلايا هذا. على سبيل المثال، إذا احتوت A1 و A3 على أرقام، وكان A2 يحتوي على صيغة مع دالة CUBEVALUE ترجع سلسلة ذات طول صفري، فسترجع الصيغة التالية #VALUE! الخطا:
=A1+A2+A3
لمنع ذلك، يمكنك إجراء اختبار للسلسلة الفارغة باستخدام الدالتين ISTEXT وIF لاستبدال القيمة الفارغة بـ 0 (صفر) كما يوضح المثال التالي:
=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)
بدلاً من ذلك، يمكنك إدخال الدالة CUBEVALUE في شرط IF مما يؤدي إلى إرجاع قيمة 0 إذا تم تقييم الدالة CUBEVALUE إلى سلسلة فارغة كما يوضح المثال التالي:
=IF (CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]")="", 0, CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]"))
تجدر الإشارة إلى أن الدالة SUM لا تتطلب هذا الاختبار لسلسلة فارغة لأنها تتجاهل تلقائياً السلاسل الفارغة عند احتساب القيمة المُرجعة.
أمثلة
=CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]")
=CUBEVALUE($A$1,"[Measures].[Profit]",D$12,$A23)
=CUBEVALUE("Sales",$B$7,D$12,$A23)