Именование объектов (службы Analysis Services — многомерные данные)
Имена объектов, идентификаторы и ссылки
Как правило, каждый главный объект обладает следующими свойствами.
Name Обычно имена одноуровневых объектов являются уникальными в области определения родительской коллекции. Например, два разных объекта Database могут иметь одни и те же имена Dimension. Но в пределах каждой базы данных Database имена измерений Dimension являются уникальными. Исключения из этого правила будут отмечены позже. Например, имена мер Measure должны быть уникальными на уровне куба Cube, но не обязаны быть уникальными на уровне родительской группы мер MeasureGroup.
ID Ограничения уникальности, распространяющиеся на свойства Name, относятся также к свойствам ID. Кроме того, свойства ID не могут быть изменены. Значения свойствам ID присваиваются автоматически после их создания пользователем, приложением или сервером (если эти свойства еще не заданы). Если свойства ID присваиваются сервером, то сервер задает в качестве свойств ID первоначальное имя объекта.
Description
Ссылки на объекты
Ссылки на объекты осуществляются с помощью их свойств ID. Соглашение об именах для свойств ID предусматривает, что имя свойства начинается с обозначения его типа цели, к нему добавляется суффикс «ID», а также, возможно, префикс, предоставляющий дополнительную информацию о том, какую роль играет этот объект. В качестве примера рассмотрим объект, представляющий собой меру, которая используется по умолчанию в кубе Cube. Типом цели этого объекта является мера Measure. К этому имени типа цели добавляются суффикс «ID» и префикс «Default». Результирующее имя свойства ID принимает вид DefaultMeasureID, как показано в следующем коде.
<Cube>
<DefaultMeasureID>Amount</DefaultMeasureID>
…
<Cube>
Если требуется уточненное имя, которое состоит из нескольких идентификаторов (например, CubeID и MeasureID ссылаются на некоторую меру в другом кубе Cube), то вводится внешний элемент, чтобы в него можно было включить набор элементов ID.
Исключения из правил, касающихся ссылок
Ссылка DataSource, которая состоит из единственной точки (.), указывает на текущую базу данных текущего сервера OLAP. Например, следующий фрагмент XML ссылается на текущую базу данных Database текущего экземпляра сервера OLAP.
<DataSourceID>.</DataSourceID>
Ссылки на элементы представления источника данных DataSourceView являются исключениями из правил формирования ссылок. Объект DataSet в структуре платформы Microsoft .NET Framework описывает схему для представления источника данных. В этой схеме объект представления источника данных имеет имя Name, но не неизменяемый идентификатор ID. Поэтому в ссылках на объект представления источника данных необходимо использовать имя Name в качестве механизма идентификации. Например, ссылка, ColumnBinding.TableID, не содержит идентификатор ID. Вместо этого указанная ссылка содержит имя Name соответствующей таблицы.
Правила задания имен
В языке ASSL применяются те же правила, касающиеся использования прописных и строчных букв и пробельных символов в именах Name и свойствах ID, что и в объектах DSO 8.0.
При проверке на уникальность для имен Name и идентификаторов ID регистр букв не учитывается. Поэтому невозможно иметь в одной и той же базе данных один объект куба Cube с именем «sales» и еще один объект с именем «Sales».
Безусловно, свойство Name или ID может содержать внедренные пробелы, но это свойство не может включать ведущих или конечных пробелов. Происходит неявное отсечение ведущих и конечных пробелов. Это правило относится и к объектам Name, и к объектам ID, а также к значениям элементов, которые ссылаются на эти имена Name и идентификаторы ID.
Следующие правила также относятся к свойствам Name и ID. Эти правила аналогичны правилам в объектах DSO 8.0.
Максимальное количество символов 100.
Какие-либо специальные требования к первому символу идентификатора не предъявляются. В качестве первого символа может применяться любой допустимый символ.
Не должны использоваться следующие зарезервированные имена.
AUX
CLOCK$
от COM1 до COM9 (COM1, COM2, COM3 и т. д.)
CON
от LPT1 до LPT9 (LPT1, LPT2, LPT3 и т. д.)
NUL
PRN
Не допускается использование значения NULL в качестве символа ни в одной строке в коде XML
В следующей таблице перечислены символы, которые являются недопустимыми для конкретных объектов.
Объект |
Недопустимые символы |
---|---|
Server |
Имя должно соответствовать правилам составления имен компьютеров. (Применение IP-адресов не допускается.) |
DataSource |
: / \ * | ? " () [] {} <> |
Level или Attribute |
. , ; ' ` : / \ * | ? " & % $ ! + = [] {} < > |
Dimension или Hierarchy |
.,, ; ' ` : / \ * | ? " & % $ ! + = () [] {} <,> |
Все прочие объекты |
. , ; ' ` : / \ * | ? " & % $ ! + = () [] {} < > |
Локализованные имена
Заголовки для объектов, которые являются видимыми для клиентов (например Dimension, Hierarchy и Level), могут быть локализованы путем перевода на другие языки. Заголовки для объектов, которые определяются с помощью команд (в частности вычисляемые меры и именованные наборы), предоставляются в составе определения многомерного выражения для объектов.
Средства связывания для атрибутов позволяют также использовать различные источники (например разные исходные столбцы) для имен атрибутов, которые должны быть предусмотрены для различных языков.
Локализация имен объектов не предусмотрена.