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

Опис

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

Синтаксис

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

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

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

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

Примітки

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

  • Якщо для аргументу "вираз_члена" використовується посилання на клітинку, яке містить функцію кубів, то аргумент "вираз_члена" використовує вираз 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, і використати функцію 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)

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.