CUBEVALUE функция

В тази статия е описан синтаксисът и употребата на функцията CUBEVALUE в Microsoft Excel.

Описание

Връща агрегирана стойност от куба.

Синтаксис

CUBEVALUE(връзка; [член_израз1]; [член_израз2];...)

Синтаксисът на функцията CUBEVALUE има следните аргументи:

  • "връзка"    Задължително. Текстов низ за името на връзката към куба.

  • "член_израз"    Незадължително. Текстов низ на многомерен израз (MDX), който изчислява член или кортеж в куба. Като алтернатива, "член_израз" може да бъде множество, определено с функцията CUBESET. Използвайте "член_израз" като сегментатор, за да определите парчето от куба, за което се връща агрегираната стойност. Ако не е зададен размер за "член_израз", използва се размерът по подразбиране за този куб.

Забележки

  • Когато функцията CUBEVALUE се изчислява, в клетката временно се показва съобщението "#GETTING_DATA…", преди да бъдат извлечени всички данни.

  • Ако за "член_израз" се използва препратка към клетка и тази препратка към клетка съдържа CUBE функция, тогава "член_израз" използва MDX израза за елемента в посочената клетка, а не стойността, показана в тази посочена клетка.

  • Ако името на връзката не е валидна връзка на работна книга, която е съхранена в работната книга, CUBEVALUE връща стойност на грешка #NAME?. Ако сървърът за аналитична обработка онлайн (OLAP сървърът) не се изпълнява или връща съобщение за грешка, CUBEVALUE връща стойност на грешка #NAME?.

  • Ако поне един от елементите на кортежа е невалиден, CUBEVALUE връща стойност на грешка #VALUE!.

  • CUBEVALUE връща стойност на грешка #N/A, когато:

    • Синтаксисът на "член_израз" е неправилен.

    • Членът, зададен от "член_израз", не съществува в куба.

    • Кортежът е невалиден, понеже няма пресичане на зададените стойности. (Това може да се случи с множество елементи от една и съща йерархия.)

    • Множеството съдържа поне един член с размерност, която е различна от тази на другите членове.

    • CUBEVALUE може да върне стойност на грешка #N/A, ако указвате обект, съществуващ в рамките на сесия, като например изчисляем член или наименувано множество в обобщена таблица, когато се споделя връзка и обобщената таблица е изтрита или сте преобразували обобщената таблица във формули. (В раздела Опции, в групата Инструменти щракнете върху Инструменти за OLAP, а след това щракнете върху Преобразуване във формули.)

Проблем: Стойностите null се преобразуват в низове с нулева дължина

В Excel ако в дадена клетка няма данни, защото никога не сте я променяли или сте изтрили съдържанието, клетката съдържа празна стойност. В много системи за бази данни празната стойност се нарича стойност Null. Празната или Null стойност означава буквално "Няма стойност". Обаче формула не може да върне никога празен низ или стойност Null. Формулата винаги връща една от трите стойности: числова стойност; текстова стойност, която може да е низ с нулева дължина или стойност за грешка, като например #NUM! или #VALUE.

Ако формулата съдържа функция CUBEVALUE, свързана към база данни за "Аналитична обработка онлайн" (OLAP база данни) и заявката към базата данни връща стойност Null, Excel преобразува тази Null стойност в низ с нулева дължина, дори когато формулата би трябвало да връща по принцип числова стойност. Това може да доведе до ситуация, при която даден диапазон от клетки съдържа комбинация от числови стойности и низове с нулева дължина и тази ситуация може да повлияе на резултатите на други формули, които препращат към този диапазон от клетки. Например ако A1 и A3 съдържат числа, а A2 съдържа формула с функция CUBEVALUE, която връща низ с нулева дължина, следващата формула би върнала грешка #VALUE!:

=A1+A2+A3

За да предотвратите това, можете да тествате за низове с нулева дължина, като използвате функцията ISTEXT и замествайки низа с нулева дължина с 0 (нула) с помощта на функцията IF, както е показано в следващия пример:

=IF(ISTEXT(A1);0;A1)+IF(ISTEXT(A2);0;A2)+IF(ISTEXT(A3);0;A3)

Като алтернатива, можете да вложите функцията CUBEVALUE в условие с IF, което връща стойност 0, ако функцията CUBEVALUE изчисли низ с нулева дължина, както е показано в следващия пример:

=IF (CUBEVALUE("Продажби";"[Мерки].[Печалба]";"[Час].[2004]","[Всички продукти].[Напитки]")=""; 0; CUBEVALUE("Продажби";"[Мерки].[Печалба]";"[Час].[2004]";"[Всички продукти].[Напитки]"))

Забележете, че функцията SUM не изисква този тест за низове с нулева дължина, тъй като автоматично игнорира низовете с нулева дължина при изчисляването на връщаната от нея стойност.

Примери

=CUBEVALUE("Продажби";"[Мерки].[Печалба]";"[Час].[2004]";"[Всички продукти].[Напитки]")

=CUBEVALUE($A$1,"[Мерки].[Печалба]";D$12;$A23)

=CUBEVALUE("Продажби";$B$7;D$12;$A23)

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×