Поделиться через


Использование унарных операторов

В измерении, содержащем связь типа «родитель-потомок» в службах MicrosoftSQL ServerAnalysis Services, нужно указывать столбец унарного оператора (или пользовательской свертки), который определяет пользовательскую свертку для всех невычисляемых элементов родительского атрибута. Унарный оператор применяется к элементам каждый раз, когда оцениваются значения родительских элементов. Свойство UnaryOperatorColumn в родительском атрибуте (Использование=Родитель) задает столбец таблицы в представлении источника данных, в которой содержатся унарные операторы. Значения для операторов пользовательской свертки, хранящихся в данном столбце, применяются к каждому элементу атрибута.

Можно создать и указать именованное вычисление в таблице измерения в представлении источника данных в виде столбца унарного оператора. Простейшее выражение, такое как «+», возвращает одинаковый оператор для всех элементов. Но использовать можно любое выражение, при условии, что такое выражение возвращает оператор для каждого элемента.

Чтобы заменить статистическое вычисление по умолчанию, связанное с элементами измерения, можно вручную изменить свойство UnaryOperatorColumn в родительском атрибуте или воспользоваться расширением «Определение нестандартного статистического выражения» мастера бизнес-аналитики. Дополнительные сведения об использовании мастера бизнес-аналитики для выполнения таких настроек см. в разделе Добавление нестандартного статистического выражения к измерению.

Значением по умолчанию свойства UnaryOperatorColumn в родительском атрибуте является (none), отключающее операторы пользовательской свертки. В следующей таблице перечислены унарные операторы и описывается их действие при применении к уровню.

Унарный оператор

Описание

+ (знак плюс)

Значение элемента добавляется к значению статистического выражения элементов с общим родителем, стоящих до элемента. Этот оператор является оператором по умолчанию в том случае, если для атрибута не задан столбец унарного оператора.

- (знак минус)

Значение элемента вычитается из значения статистического выражения элементов с общим родителем, стоящих до элемента.

* (звездочка)

Значение элемента умножается на значение статистического выражения элементов с общим родителем, стоящих до элемента.

/ (косая черта)

Значение элемента делится на значение статистического выражения элементов с общим родителем, стоящих до элемента.

~ (тильда)

Значение элемента игнорируется.

Пустые значение и любые другие значения, отсутствующие в таблице, интерпретируются как знак плюс (+) унарного оператора. Поскольку не существует приоритета операторов, тот порядок, в соответствии с которым элементы хранятся в столбце унарного оператора, определяет порядок вычисления. Чтобы изменить порядок вычисления, создайте новый атрибут, установите его свойство Type равным Sequence, затем назначьте номера последовательности, соответствующие порядку вычислению в его свойстве Source Column. Также необходимо упорядочить элементы атрибута по данному атрибуту. Дополнительные сведения об использовании мастера бизнес-аналитики для упорядочивания элементов атрибута см. в разделе Указание упорядочивания для измерения.

Для указания именованного вычисления, которое возвращает унарный оператор как буквенный символ для всех элементов атрибута, можно воспользоваться свойством UnaryOperatorColumn. Для этого может быть достаточно напечатать буквенный символ, например '*', в именованном вычислении. Это заменит оператор по умолчанию, знак плюс (+), на оператор умножения, звездочка (*), для всех элементов атрибута. Дополнительные сведения см. в разделе Определение именованных вычислений в представлении источника данных (службы Analysis Services).

На вкладке Обозреватель конструктора измерений можно просмотреть унарные операторы, расположенные рядом с каждым элементом иерархии. Также унарные операторы можно изменить во время работы с измерением, доступным для записи. Если измерение не доступно для записи, то необходимо воспользоваться средством для изменения источника данных напрямую.