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

Функція 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

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

×