Інструкція create member (багатовимірні вираження)

Допустиме строкове вираження, що містить ім'я куба, в якому буде створено елемент.

Допустиме строкове вираження, яке повертає ім'я елемента. Вкажіть повне ім'я, щоб створити елемент у вимірі, відмінному від вимірювання заходів. Якщо цього не зробити, елемент буде створений в вимірі заходів.

Допустиме багатовимірний вираз.

Допустиме строкове вираження, що представляє ім'я властивості обчислюється елемента.

Допустиме скалярний вираз, що представляє значення властивості обчислюється елемента.

Інструкція CREATE MEMBER визначає обчислювані елементи, які доступні для всього сеансу і можуть використовуватися в декількох запитах в даному сеансі. Додаткові відомості див. У розділі Створення обчислюваних елементів з областю дії сеансу (багатовимірні вираження).

Можна також визначити який вираховується елемент для використання тільки в одному запиті. Для визначення обчислюваного елемента, обмеженого рамками одного запиту, використовується пропозицію WITH в інструкції SELECT. Додаткові відомості див. У розділі Створення обчислюваних елементів з областю дії запиту (багатовимірні вираження).

Аргумент Property_Name може ставитися до стандартних або додаткових властивостей обчислюється елемента. Стандартні властивості елементів перераховані далі в цьому розділі. Обчислювані елементи, створені інструкцією CREATE MEMBER без значення SESSION. мають сеансовий область. Крім того, рядки в визначеннях обчислюваних елементів поділяються подвійними лапками. В OLE DB визначено інший метод, який вказує, що рядки повинні розділятися одиночними лапками.

При вказівці куба, ніж поточне положення підключеного куба, виникає помилка. Тому для звернення до поточного кубу замість вказівки імені куба рекомендується використовувати змінну CURRENTCUBE.

Додаткові відомості про властивості елементів, визначених у OLE DB, см. В документації OLE DB.

Обчислюваний елемент може зустрічатися в одній з областей дії, перерахованих нижче.

Видимість і час життя цього обчислюється елемента обмежуються даними запитом. Обчислюваний елемент визначено в одному запиті. Область запиту має пріоритет в порівнянні з областю сеансу. Додаткові відомості див. У розділі Створення обчислюваних елементів з областю дії запиту (багатовимірні вираження).

Видимість і час життя цього обчислюється елемента обмежуються сеансом, в якому створено елемент. (Час життя може бути менше тривалості сеансу, якщо по відношенню до обчислюваному елементу видана інструкція DROP MEMBER.) Інструкція CREATE MEMBER створює обчислюваний елемент з областю сеансу.

Ізоляція на рівні області

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

Ця особливість дозволяє звичайним клієнтським додаткам працювати з кубами, які містять складні обчислення, не вдаючись у конкретну реалізацію обчислень. Однак іноді може знадобитися виконати обчислювані елементи сеансу або області запиту раніше обчислень, визначених у кубі, при цьому застосувати функції Aggregate і VisualTotals буде неможливо. Щоб зробити це, скористайтеся властивістю обчислення SCOPE_ISOLATION.

Нижче наведено приклад скрипта, в якому для отримання правильного результату використовується властивість обчислення SCOPE_ISOLATION.

скрипт багатовимірних виразів куба:

Значення, що визначає видимість обчислюється елемента в наборі рядків схеми. Видимі обчислювані елементи можуть додаватися до набору функцією AddCalculatedMembers. Нульове значення вказує, що даний обчислюваний елемент бачимо. Значення цієї властивості за замовчуванням дорівнює Visible.

Невидимі обчислювані елементи (для яких значення властивості рівне нулю) зазвичай використовуються як проміжні етапи при обчисленні більш складних елементів. До таких обчислюваним елементів можуть також звертатися інші типи елементів, наприклад заходи.

Міра або набір, що використовуються для визначення поведінки обчислюваних елементів при вирішенні порожніх клітинок.