CUBEVALUE (функція CUBEVALUE)

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

Опис

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

Синтаксис

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

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

  • підключення    – обов’язковий аргумент. Це текстовий рядок імені підключення до куба.

  • вираз_члена    – необов’язковий аргумент. Це текстовий рядок багатовимірного виразу (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)

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

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

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

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×