Идентификаторы (многомерные выражения)
Идентификатор — это имя объекта Служб Analysis Services. Каждый объект может и должен иметь идентификатор. Это относится к кубам, измерениям, иерархиям, уровням, элементам и т.п. Идентификатор можно использовать для обращения к объекту в инструкциях многомерных выражений.
В зависимости от имени объекта его идентификатор будет либо обычным, либо с разделителем.
Заметка
Как обычные, так и разделенные идентификаторы должны содержать от 1 до 100 символов.
Обычные идентификаторы
Обычный идентификатор — это имя объекта, заданное в соответствии с нижеприведенными правилами форматирования обычных идентификаторов. Обычный идентификатор можно использовать с разделителями и без разделителей.
Правила форматирования обычных идентификаторов
Первым символом должен быть один из следующих.
Буква, определенная Стандартом Юникода 2.0. Помимо букв других языков в состав Юникода входят латинские символы от «a до z» и от «A до Z».
Символ подчеркивания (_).
Далее могут идти следующие символы:
Буквы, определенные в Стандарте Юникод 2.0.
Десятичные цифры из набора символов Basic Latin или другого набора символов национального языка.
Символ подчеркивания (_).
В качестве идентификатора не может выступать зарезервированное ключевое слово многомерных выражений. Зарезервированные слова в многомерных выражениях не зависят от регистра. Дополнительные сведения см. в разделе "Зарезервированные ключевые слова " (синтаксис многомерных выражений)".
Внутри идентификаторов запрещается использовать символы пробела или специальные символы.
Примеры обычных идентификаторов
В следующей инструкции многомерных выражений идентификаторы Measures
, Product
и Style
соответствуют правилам форматирования обычных идентификаторов. Для них не требуются разделители.
SELECT Measures.MEMBERS ON COLUMNS,
Product.Style.CHILDREN ON ROWS
FROM [Adventure Works]
``
При необходимости в обычных идентификаторах можно использовать разделители. В следующей инструкции многомерных выражений обычные идентификаторы Measures
, Product
и Style
корректно разделены с помощью квадратных скобок.
SELECT [Measures].MEMBERS ON COLUMNS,
[Product].[Style].CHILDREN ON ROWS
FROM [Adventure Works]
``
Использование идентификаторов с разделителями
Идентификаторы, не соответствующие правилам форматирования обычных идентификаторов, всегда должны выделяться квадратными скобками ([]).
Заметка
Разделители используются только для идентификаторов. Разделители нельзя использовать для ключевых слов, независимо от того, помечены ли ключевые слова как зарезервированные в службах Analysis Services.
Идентификаторы с разделителями используются в следующих случаях.
Если в имени или в части имени объекта используется зарезервированное слово.
Рекомендуется не использовать зарезервированные ключевые слова в качестве имен объектов. Базы данных, обновленные с более ранних версий служб Analysis Services, могут содержать идентификаторы, содержащие слова, не зарезервированные в более ранней версии, но теперь зарезервированы. До изменения идентификатора можно обращаться к объекту по идентификатору с разделителем.
Если в имени объекта присутствуют символы, недопустимые для использования в идентификаторах.
Службы Analysis Services позволяют использовать любой символ в текущей кодовой странице с разделителями. Однако не рекомендуется использовать специальные символы в имени объекта без разбора, поскольку это может сделать инструкции и скрипты многомерных выражений трудными для понимания и обслуживания.
Правила форматирования идентификаторов с разделителями
Тело идентификатора с разделителем может содержать любую комбинацию символов из текущей кодовой страницы, в том числе сами символы разделителя. Если тело идентификатора с разделителями содержит символы разделителя, необходимо особое выделение.
Если тело идентификатора содержит только открывающую квадратную скобку ([), особого выделения не требуется.
Если тело идентификатора содержит закрывающую квадратную скобку (]), необходимо указать две таких скобки (]]).
Примеры идентификаторов с разделителями
В следующем примере инструкции многомерных выражений идентификаторы Sales Volume
, Sales Cube
и select
являются идентификаторами с разделителями.
-- The [Sales Volume] and [Sales Cube] identifiers contain a space.
SELECT Measures.[Sales Volume]
FROM [Sales Cube]
WHERE Product.[select]
-- The [select] identifier is a reserved keyword.
В следующем примере объект имеет имя Total Profit [Domestic]
. Для обращения к нему необходимо использовать следующий идентификатор с разделителем.
[Total Profit [Domestic]]]
Обратите внимание, что открывающую квадратную скобку перед идентификатором Domestic
не нужно изменять, чтобы создать идентификатор с разделителем. Однако закрывающую квадратную скобку после Domestic
следует заменить двумя закрывающими квадратными скобками.
Выделенные идентификаторы с несколькими частями
При использовании полных имен объектов может потребоваться разделять несколько идентификаторов, составляющих имя объекта. Например, идентификатор Front Brakes в следующем коде обязательно указывается с разделителями.
SELECT [Measures].MEMBERS ON COLUMNS,
[Product].[Product].[Front Brakes] ON ROWS
FROM [Adventure Works]
Помимо этого, в предыдущем примере выделен идентификатор Measures, чтобы продемонстрировать разделение нескольких идентификаторов.
См. также
Справочник по языку многомерных выражений (многомерные выражения)
Основы запросов многомерных выражений (службы Analysis Services)
Элементы синтаксиса многомерных выражений (многомерные выражения)