تصف هذه المقالة بناء جملة صيغة الدالة CUBEVALUE وطريقة استخدامها في Microsoft Excel.
الوصف
تُرجع قيمة مجمّعة من المكعب.
بناء الجملة
CUBEVALUE(connection, [member_expression1], [member_expression2], …)
يحتوي بناء جملة الدالة CUBEVALUE على الوسيطتين التاليتين:
- الاتصال مطلوب. وهي سلسلة نصية لاسم الاتصال بالمكعب.
- 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، إذا لم تتضمن خلية أي بيانات لأنك لم تقم بتغييرها أبدا أو لأنك حذفت المحتويات، فستحتوي الخلية على قيمة فارغة. في العديد من أنظمة قواعد البيانات، تسمى القيمة الفارغة قيمة فارغة. تعني القيمة الفارغة أو القيمة الخالية "بلا قيمة". ومع ذلك، لا يمكن للصيغة أن ترجع أبدا سلسلة فارغة أو قيمة خالية. ترجع الصيغة دائما قيمة واحدة من ثلاث قيم: قيمة رقمية؛ و قيمة نصية، قد تكون سلسلة فارغة، أو قيمة خطأ، مثل #NUM! أو #VALUE.
إذا كانت الصيغة تحتوي على دالة CUBEVALUE متصلة بقاعدة بيانات المعالجة التحليلية عبر الإنترنت (OLAP) وينتج عن استعلام قاعدة البيانات هذه قيمة فارغة، يحول 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)