Перейти до основного
Підтримка
Вхід

Функція CUBEVALUE

У цій статті наведено синтаксис формули та описано, як у програмі Microsoft Excel використовувати функцію CUBEVALUE.

Опис

Ця функція повертає групове значення з куба.

Синтаксис

CUBEVALUE(підключення;[вираз_члена1];[вираз_члена2];…)

Синтаксис функції CUBEVALUE має такі аргументи:

  • Підключення (Connection)    – обов'язковий параметр. Текстовий рядок імені підключення до куба.

  • вираз_члена    – необов’язковий аргумент. Це текстовий рядок багатовимірного виразу (MDX), який обчислює елемент або кортеж усередині куба. Аргумент "вираз_члена" може також бути набором, визначеним функцією CUBESET. Використовуйте аргумент "вираз_члена" як роздільник для визначення частини куба, для якої повертається групове значення. Якщо для аргументу "вираз_члена" не визначено вимір, використовується стандартний для цього куба вимір.

Примітки

  • Коли функція CUBEVALUE обчислюється, у клітинці тимчасово відображається повідомлення "#GETTING_DATA…" (Отримання даних…), доки дані не буде отримано.

  • Якщо для аргументу "вираз_члена" використовується посилання на клітинку, яке містить функцію кубів, то аргумент "вираз_члена" використовує вираз MDX для елемента в клітинці, на яку створено посилання, а не для значення, відображеного в цій клітинці.

  • Якщо ім'я підключення не є припустимим підключенням до книги, що зберігається в книзі, функція CUBEVALUE повертає #NAME? значення помилки #NUM!. Якщо сервер онлайнової аналітичної обробки (OLAP) не працює, недоступний або повертає повідомлення про помилку, функція CUBEVALUE повертає #NAME? значення помилки #NUM!.

  • Якщо принаймні один елемент всередині кортежу неприпустимий, функція CUBEVALUE повертає #VALUE! значення помилки #NUM!.

  • Функція 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, і використати функцію IF для заміни нульової довжини на 0 (нуль), як у наведеному прикладі:

=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
Ознайомтеся з навчальними матеріалами
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо, що знайшли час і надіслали нам відгук! Можливо, у нас не буде часу відповісти на кожен коментар, але докладемо максимум зусиль, щоб переглянути їх усі. Вас цікавить, як ми використовуємо ваші відгуки?

×