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


Внутренние свойства элементов (многомерные выражения)

Изменения: 12 декабря 2006 г.

Как поставщик, совместимый с разделом OLAP спецификации OLE DB, принятой в марте 1999 года (версия 2.6), службы Microsoft SQL Server 2005 Analysis Services (SSAS) поддерживают внутренние свойства элементов, перечисленные в этом разделе.

ms145528.note(ru-ru,SQL.90).gifПримечание.
Поставщики, отличные от служб SQL Server 2005 Analysis Services (SSAS), могут поддерживать дополнительные внутренние свойства элементов. Дополнительные сведения о внутренних свойствах элементов, поддерживаемых другими поставщиками, см. в документации по этим поставщикам.

Типы свойств элементов

Службы SQL Server 2005 Analysis Services (SSAS) поддерживают два типа внутренних свойств элементов.

  • Свойства элементов, зависящие от контекста
    Эти свойства элементов должны использоваться в контексте конкретного измерения или уровня и передавать значения для каждого элемента заданного измерения или уровня.
  • Свойства элементов, не зависящие от контекста
    Эти свойства элементов нельзя использовать в контексте конкретного измерения или уровня; они передают значения для всех элементов оси.

Независимо от зависимости внутреннего свойства элемента от контекста, действуют следующие правила их использования.

  • Можно указывать только те внутренние свойства элементов, которые связаны с элементами измерения, проецируемым на оси.
  • В одном запросе можно одновременно обращаться к свойствам элементов как зависящим, так и не зависящим от контекста.
  • Для обращения к свойству используется ключевое слово PROPERTIES.

В следующем разделе описаны зависящие и не зависящие от контекста внутренние свойства элементов, доступные в службах SQL Server 2005 Analysis Services (SSAS), а также способы использования ключевого слова PROPERTIES со свойствами каждого типа.

Свойства элементов, зависящие от контекста

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

Свойство Описание

ID

Внутренний идентификатор элемента.

Key

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

Name

Имя элемента.

Синтаксис ключевого слова PROPERTIES для свойств, зависящих от контекста

Данные свойства элементов используются в контексте конкретного измерения или уровня и передают значения для каждого элемента заданного измерения или уровня.

Для свойств элемента измерения перед именем свойства указывается имя измерения, к которому относится свойство. Правильный синтаксис показан в следующем примере.

DIMENSION PROPERTIES Dimension.Property_name

Имя свойства элемента уровня может быть предварено только именем уровня или (для дополнительного уточнения) как именем измерения, так и и именем уровня. Правильный синтаксис показан в следующем примере.

DIMENSION PROPERTIES [Dimension.]Level.Property_name

Необходимо вернуть список имен всех указанных элементов в измерении [Sales]. Чтобы получить список этих имен, в запрос многомерных выражений включена следующая инструкция:

DIMENSION PROPERTIES [Sales].Name

Свойства элементов, не зависящие от контекста

Все элементы поддерживают группу внутренних свойств элементов, одинаковых вне зависимости от контекста. Эти свойства несут дополнительные сведения, используемые приложениями для создания более удобной пользовательской среды.

В следующей таблице перечислены внутренние свойства, не зависящие от контекста, поддерживаемые службами SQL Server 2005 Analysis Services (SSAS).

ms145528.note(ru-ru,SQL.90).gifПримечание.
Столбцы в наборе строк схемы MEMBERS поддерживают внутренние свойства элементов, перечисленные в следующей таблице. Дополнительные сведения о наборе строк схемы MEMBERS см. в разделе MDSCHEMA_MEMBERS Rowset.
Свойство Описание

ACTION_TYPE

Битовая маска, определяющая типы действий над элементом. Это свойство может принимать одно из следующих значений:

  • MDACTION_TYPE_URL
  • MDACTION_TYPE_HTML
  • MDACTION_TYPE_STATEMENT
  • MDACTION_TYPE_DATASET
  • MDACTION_TYPE_ROWSET
  • MDACTION_TYPE_COMMANDLINE
  • MDACTION_TYPE_PROPRIETARY
  • MDACTION_TYPE_REPORT
  • MDACTION_TYPE_DRILLTHROUGH

CAPTION

Эквивалентно MEMBER_CAPTION.

CHILDREN_CARDINALITY

Количество потомков элемента. Значение этого свойства может быть приблизительным, поэтому не стоит рассчитывать на него для определения точного числа. Поставщики должны возвращать возможное наивернейшее приблизительное значение.

CUBE_NAME

Имя куба, которому принадлежит элемент.

CUSTOM_ROLLUP

Пользовательское выражение элемента.

CUSTOM_ROLLUP_PROPERTIES

Пользовательские свойства элемента.

DESCRIPTION

Понятное описание элемента.

DIMENSION_UNIQUE_NAME

Уникальное имя измерения, которому принадлежит элемент. Для поставщиков, формирующих уникальные имена путем использования квалификаторов, компоненты имени разделяются между собой.

HIERARCHY_UNIQUE_NAME

Уникальное имя иерархии. Если элемент принадлежит нескольким иерархиям, свойство содержит строку для каждой из этих иерархий. Для поставщиков, формирующих уникальные имена путем использования квалификаторов, компоненты имени разделяются между собой.

IS_DATAMEMBER

Логическое значение, указывающее, является ли элемент элементом данных.

KEYx

Ключ для элемента, где x — это начинающийся с нуля порядковый номер ключа. Значение KEY0 доступно для составных и несоставных ключей, а значения KEY1, KEY2 и последующие — только для составных ключей. Значения Key0, Key1, Key2 и последующие совместно формируют составной ключ.

LCIDx

Перевод заголовка элемента в шестнадцатеричное значение языкового стандарта, где x — шестнадцатеричное значение языкового стандарта (например, LCID1009 для канадского английского). Доступно, только если перевод имеет столбец заголовков, привязанный к источнику данных.

LEVEL_NUMBER

Расстояние от элемента до корня иерархии. Корневой уровень является нулевым.

LEVEL_UNIQUE_NAME

Уникальное имя уровня, которому принадлежит элемент. Для поставщиков, формирующих уникальные имена путем использования квалификаторов, компоненты имени разделяются между собой.

MEMBER_CAPTION

Метка или заголовок, связанный с элементом. Заголовок используется главным образом при отображении элемента. Если заголовок отсутствует, запрос возвращает MEMBER_NAME.

MEMBER_KEY

Значение ключа элемента в исходном типе данных. Параметр MEMBER_KEY сохранен в целях обратной совместимости. Параметр MEMBER_KEY имеет то же самое значение, что и KEY0 для несоставного ключа, и имеет значение NULL для составных ключей.

MEMBER_NAME

Имя элемента.

MEMBER_TYPE

Тип элемента. Это свойство может принимать одно из следующих значений:

  • MDMEMBER_TYPE_REGULAR
  • MDMEMBER_TYPE_ALL
  • MDMEMBER_TYPE_FORMULA
  • MDMEMBER_TYPE_MEASURE
  • MDMEMBER_TYPE_UNKNOWN

Значение MDMEMBER_TYPE_FORMULA имеет больший приоритет, чем MDMEMBER_TYPE_MEASURE. Поэтому, если в измерении мер есть формула (вычисляемый элемент), то свойством MEMBER_TYPE для вычисляемого элемента будет MDMEMBER_TYPE_FORMULA.

MEMBER_UNIQUE_NAME

Уникальное имя элемента. Для поставщиков, формирующих уникальные имена путем использования квалификаторов, компоненты имени разделяются между собой.

MEMBER_VALUE

Значение элемента в исходном типе данных.

PARENT_COUNT

Количество родительских элементов данного элемента.

PARENT_LEVEL

Расстояние от родительского элемента данного элемента до корневого уровня иерархии. Корневой уровень является нулевым.

PARENT_UNIQUE_NAME

Уникальное имя родительского элемента данного элемента. Для элементов на корневом уровне свойство возвращает значение NULL. Для поставщиков, формирующих уникальные имена путем использования квалификаторов, компоненты имени разделяются между собой.

UNARY_OPERATOR

Унарный оператор элемента.

Синтаксис ключевого слова PROPERTIES для свойств, не зависящих от контекста

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

DIMENSION PROPERTIES Property

Обратите внимание, что такой синтаксис не позволяет указывать для этого свойства измерение или уровень, поскольку внутреннее контекстно-независимое свойство элемента применяется ко всем элементам оси.

Например, инструкция многомерных выражений, обращающаяся к внутреннему свойству элемента DESCRIPTION, будет иметь следующий синтаксис:

DIMENSION PROPERTIES DESCRIPTION

Инструкция возвращает описание каждого элемента в оси измерения. Если добавить в качестве квалификатора свойства измерение или уровень, например Dimension.DESCRIPTION или Level.DESCRIPTION, то инструкция будет недопустимой.

Примеры

В следующем примере возвращается количество посредников, продажи которых снизились по сравнению с предыдущим периодом, на основании выбранных пользователем значений элемента State-Province, вычисленных с помощью функции Aggregate. Функции Hierarchize (многомерные выражения) и DrilldownLevel (многомерные выражения) используются для возвращения показателей падения продаж для категорий продуктов в измерении Product. Функция Properties (многомерные выражения) возвращает уникальные имена родительских элементов для оси столбцов.

WITH MEMBER Measures.[Declining Reseller Sales] AS 
   Count
      (Filter
         (Existing
            (Reseller.Reseller.Reseller)
            , [Measures].[Reseller Sales Amount] < 
            (
               [Measures].[Reseller Sales Amount]
                  ,[Date].Calendar.PrevMember
             )
          )
       )
MEMBER [Geography].[State-Province].x AS 
   Aggregate 
      ( 
         {[Geography].[State-Province].&[WA]&[US]
         , [Geography].[State-Province].&[OR]&[US] 
         } 
      )
SELECT NON EMPTY HIERARCHIZE 
   (AddCalculatedMembers 
      (
         {DrillDownLevel
            ({[Product].[All Products]})
         }
      )
   ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS 
FROM [Adventure Works]
WHERE 
   (
      [Geography].[State-Province].x
      , [Date].[Calendar].[Calendar Quarter].&[2003]&[4]
      ,[Measures].[Declining Reseller Sales]
   )

Следующий пример возвращает переведенный заголовок элемента категории продукта в измерении Product куба Adventure Works для указанных языков.

WITH 
MEMBER Measures.CategoryCaption AS Product.Category.CurrentMember.MEMBER_CAPTION
MEMBER Measures.SpanishCategoryCaption AS Product.Category.CurrentMember.Properties("LCID3082")
MEMBER Measures.FrenchCategoryCaption AS Product.Category.CurrentMember.Properties("LCID1036")
SELECT 
{ Measures.CategoryCaption, Measures.SpanishCategoryCaption, Measures.FrenchCategoryCaption } ON 0
,[Product].[Category].MEMBERS ON 1
FROM [Adventure Works]

См. также

Справочник

PeriodsToDate (многомерные выражения)
Children (многомерные выражения)
Hierarchize (многомерные выражения)
Count (набор) (многомерные выражения)
Filter (многомерные выражения)
AddCalculatedMembers (многомерные выражения)
DrilldownLevel (многомерные выражения)
Properties (многомерные выражения)
PrevMember (многомерные выражения)
Справочник по функциям многомерных выражений (многомерные выражения)

Основные понятия

Использование свойств элементов (многомерные выражения)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Измененное содержимое
  • Добавлен новый пример для свойства LCID.

17 июля 2006 г.

Измененное содержимое
  • Обновлены синтаксис и аргументы для облегчения понимания.
  • Добавлены обновленные примеры.