Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Службы SQL Server Analysis Services предоставляют встроенные свойства для элементов измерения, которые можно включить в запрос для возврата дополнительных данных или метаданных для использования в пользовательском приложении, а также для помощи в исследовании модели или создании. Если вы используете клиентские средства SQL Server, вы можете просмотреть встроенные свойства в SQL Server Management Studio (SSMS).
Встроенные свойства включают идентификатор, КЛЮЧ, KEYx и NAME, которые являются свойствами, предоставляемыми каждым элементом на любом уровне. Вы также можете возвращать позиционные сведения, такие как LEVEL_NUMBER или PARENT_UNIQUE_NAME, среди прочего.
В зависимости от того, как вы создаете запрос, а также в клиентском приложении, которое вы используете для выполнения запросов, свойства члена могут или не отображаются в результирующем наборе. Если вы используете SQL Server Management Studio для тестирования или выполнения запросов, вы можете дважды щелкнуть элемент в результирующем наборе, чтобы открыть диалоговое окно "Свойства элемента", где отображаются значения для каждого встроенного свойства члена.
Общие сведения об использовании и просмотре свойств элементов измерения см. в разделе "Просмотр свойств элементов SSAS" в окне запроса многомерных выражений в SSMS.
Замечание
Как поставщик, соответствующий разделу OLAP спецификации OLE DB от марта 1999 года (версия 2.6), Microsoft SQL Server Analysis Services поддерживает встроенные свойства членов, описанные в этом разделе.
Поставщики, отличные от sql ServerSQL Server Analysis Services, могут поддерживать дополнительные встроенные свойства элементов. Дополнительные сведения о свойствах встроенных элементов, поддерживаемых другими поставщиками, см. в документации, которая поставляется с этими поставщиками.
Типы свойств элементов
Встроенные свойства элементов, поддерживаемые службами SQL Server SQL Server Analysis Services, являются двумя типами:
Свойства элементов с учетом контекста
Эти свойства-члены должны использоваться в контексте определенной иерархии или уровня, а также предоставлять значения для каждого элемента указанного измерения или уровня.
Обратите внимание, что в следующем примере содержится путь к свойству KEY: MEMBER [Measures].[Parent Member Key] AS [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")
Свойства членов, не зависящие от контекста
Эти свойства членов нельзя использовать в контексте определенного измерения или уровня и возвращают значения для всех членов на оси.
Свойства, не зависящие от контекста, являются автономными и не содержат информации о пути. Обратите внимание на отсутствие измерения или уровня, указанного для PARENT_UNIQUE_NAME в следующем примере: DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS
Независимо от того, является ли внутреннее свойство члена контекстно зависимым или нет, применяются следующие правила использования:
Вы можете указать только те свойства встроенных элементов, которые относятся к элементам измерения, проецируемым на оси.
Вы можете смешивать запросы к контекстно-зависимым свойствам элементов в одном и том же запросе с неконтекстно-зависимыми встроенными свойствами элементов.
Ключевое слово PROPERTIES используется для запроса свойств.
В следующих разделах описаны внутренние свойства членов, имеющие отношение к контексту и не относящиеся к контексту, доступные в службах SQL Server Analysis Services, а также использование ключевого слова PROPERTIES с каждым типом свойства.
Свойства элементов с учетом контекста
Все члены измерения и члены уровня поддерживают список встроенных свойств элементов, чувствительных к контексту. В следующей таблице перечислены эти свойства с учетом контекста.
Недвижимость | Описание |
---|---|
ИДЕНТИФИКАТОР | Внутренний поддерживаемый идентификатор для участника. |
Ключ | Значение ключа-члена в исходном типе данных. MEMBER_KEY предназначен для обратной совместимости. MEMBER_KEY имеет то же значение, что и KEY0 для не составных ключей, а свойство MEMBER_KEY имеет значение NULL для составных ключей. |
KEYx | Ключ для члена, где x — порядковый номер от нуля. KEY0 доступен для составных и не составных ключей, но в основном используется для составных ключей. Для составных ключей, KEY0, KEY1, KEY2 и т. д. формируют составной ключ. Каждый из них можно использовать независимо в запросе, чтобы вернуть эту часть составного ключа. Например, указание KEY0 возвращает первую часть составного ключа, указывая KEY1, возвращает следующую часть составного ключа и т. д. Если ключ является не составным, KEY0 эквивалентен ключу. Обратите внимание, что KEYx можно использовать в контексте, а также без контекста. По этой причине он отображается в обоих списках. |
Имя | Имя члена. |
Синтаксис PROPERTIES для свойств с учетом контекста
Эти свойства элемента используются в контексте определенного измерения или уровня, а также предоставляют значения для каждого элемента указанного измерения или уровня.
Для свойств элемента измерения вы указываете имя измерения, к которому применяется свойство, перед именем самого свойства. В следующем примере показан соответствующий синтаксис:
DIMENSION PROPERTIES Dimension.Property_name
Для свойства элемента уровня можно предшествовать имени свойства только именем уровня или, для дополнительной спецификации, использовать имена как измерения, так и уровня. В следующем примере показан соответствующий синтаксис:
DIMENSION PROPERTIES [Dimension.]Level.Property_name
Например, вам нужно вернуть все имена каждого упомянутого члена в измерении [Sales]
. Чтобы вернуть эти имена, используйте следующую инструкцию в запросе многомерных выражений:
DIMENSION PROPERTIES [Sales].Name
Свойства члена, не зависящие от контекста
Все члены поддерживают список встроенных свойств элементов, которые одинаковы независимо от контекста. Эти свойства предоставляют дополнительные сведения, которые могут использоваться приложениями для улучшения взаимодействия с пользователем.
В следующей таблице перечислены встроенные свойства, не зависящие от контекста, поддерживаемые службами SQL Server SQL Server Analysis Services.
Замечание
Столбцы в наборе строк схемы MEMBERS поддерживают встроенные свойства элементов, перечисленные в следующей таблице. Дополнительные сведения о наборе строк схемы MEMBERS см. в наборе строк MDSCHEMA_MEMBERS.
Недвижимость | Описание |
---|---|
CATALOG_NAME | Имя куба, к которому принадлежит этот член. |
CHILDREN_CARDINALITY | Количество детей, которых имеет член. Это может быть оценка, поэтому не следует полагаться на нее как на точное количество. Поставщики должны возвращать наилучшие оценки. |
CUSTOM_ROLLUP | Пользовательское выражение члена. |
ПОЛЬЗОВАТЕЛЬСКИЕ_СВОЙСТВА_СВЕРТКИ | Свойства настраиваемых элементов. |
ОПИСАНИЕ | Читаемое человеком описание члена. |
УНИКАЛЬНОЕ_ИМЯ_ИЗМЕРЕНИЯ | Уникальное имя измерения, к которому принадлежит этот элемент. Для поставщиков, создающих уникальные имена по квалификации, каждый компонент этого имени разграничивается. |
ИЕРАРХИЯ_УНИКАЛЬНОЕ_ИМЯ | Уникальное имя иерархии. Если член принадлежит нескольким иерархиям, для каждой иерархии есть одна строка, к которой принадлежит член. Для поставщиков, создающих уникальные имена в зависимости от квалификации, каждый компонент имени выделяется отдельно. |
IS_DATAMEMBER | Логическое значение, указывающее, является ли член членом данных. |
IS_PLACEHOLDERMEMBER | Логическое значение, указывающее, является ли элемент заполнителем. |
KEYx | Ключ для элемента, где x — порядковый номер, начинающийся с нуля. KEY0 доступен для составных и не составных ключей. Если ключ является не составным, KEY0 эквивалентен ключу. Для составных ключей ключ, KEY0, KEY1, KEY2 и т. д. вместе образуют составной ключ. Вы можете ссылаться на каждую из них независимо в запросе, чтобы вернуть эту часть составного ключа. Например, указание KEY0 возвращает первую часть составного ключа, указывая KEY1, возвращает следующую часть составного ключа и т. д. Обратите внимание, что KEYx можно использовать в контексте, а также без контекста. По этой причине он отображается в обоих списках. |
LCIDx | Перевод заголовка члена в шестнадцатеричное значение идентификатора языкового стандарта, где x является десятичным значением языкового стандарта (например, значение LCID1009 преобразуется в English-Canada). Это доступно только в том случае, если перевод имеет столбец заголовка, привязанный к источнику данных. |
LEVEL_NUMBER | Расстояние элемента от корня иерархии. Корневой уровень равен нулю. |
LEVEL_UNIQUE_NAME | Уникальное имя уровня, к которому принадлежит член. Для поставщиков, создающих уникальные имена на основе квалификационных характеристик, каждый компонент этого имени разделен. |
MEMBER_CAPTION | Метка или заголовок, связанный с членом. Подпись главным образом предназначена для демонстрации. Если заголовок не существует, запрос возвращает MEMBER_NAME. |
MEMBER_KEY | Значение ключа-члена в исходном типе данных. MEMBER_KEY предназначен для обратной совместимости. MEMBER_KEY имеет то же значение, что и KEY0 для не составных ключей, а свойство MEMBER_KEY имеет значение 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. Таким образом, если в измерении "Measures" существует формульный (вычисляемый) элемент, то свойство MEMBER_TYPE для этого элемента будет иметь значение MDMEMBER_TYPE_FORMULA. |
MEMBER_UNIQUE_NAME | Уникальное имя члена. Для поставщиков, которые создают уникальные имена в зависимости от квалификации, каждый компонент этого имени делимитирован. |
MEMBER_VALUE | Значение элемента в исходном типе. |
Количество_родителей | Количество родителей, которые есть у этого члена. |
PARENT_LEVEL | Расстояние родительского элемента от корневого уровня иерархии. Корневой уровень равен нулю. |
PARENT_UNIQUE_NAME | Уникальное имя родителя участника. Значение NULL возвращается для всех элементов на корневом уровне. Для поставщиков, создающих уникальные имена в соответствии с квалификацией, каждый компонент этого имени отделен. |
ПРОПУЩЕННЫЕ_УРОВНИ | Количество пропущенных уровней для участника. |
UNARY_OPERATOR | Унарный оператор для члена. |
UNIQUE_NAME | Полное имя участника в этом формате: [измерение].[уровень].[ключ6.] |
Синтаксис PROPERTIES для свойств, не относящихся к контексту
Используйте следующий синтаксис, чтобы указать встроенное свойство-член, независимое от контекста, с помощью ключевого слова PROPERTIES:
DIMENSION PROPERTIES Property
Обратите внимание, что этот синтаксис не позволяет свойству быть квалифицированным измерением или уровнем. Свойство не может быть квалифицировано, так как встроенное свойство-член, которое не учитывает контекст, применяется ко всем элементам оси.
Например, MDX оператор, указывающий встроенное свойство элемента DESCRIPTION, будет иметь следующий синтаксис.
DIMENSION PROPERTIES DESCRIPTION
Эта инструкция возвращает описание каждого элемента в измерении оси. Если вы попытались квалифицировать свойство с помощью измерения или уровня, как в измерении.DESCRIPTION
или уровне.DESCRIPTION
, запрос не пройдет проверку.
Пример
В следующих примерах показаны MDX-запросы, возвращающие встроенные свойства.
Пример 1. Использование встроенных свойств с учетом контекста в запросе
В следующем примере возвращается родительский идентификатор, ключ и имя для каждой категории продукта. Обратите внимание, как свойства выводятся как меры. Это позволяет просматривать свойства в наборе ячеек при выполнении запроса, а не диалоговое окно "Свойства элементов" в SSMS. Вы можете выполнить подобный запрос, чтобы получить метаданные члена из уже развернутого куба.
WITH
MEMBER [Measures].[Parent Member ID] AS
[Product].[Product Categories].CurrentMember.Parent.PROPERTIES("ID")
MEMBER [Measures].[Parent Member Key] AS
[Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")
MEMBER [Measures].[Parent Member Name] AS
[Product].[Product Categories].CurrentMember.Parent.PROPERTIES("Name")
SELECT
{[Measures].[Parent Member ID], [Measures].[Parent Member Key], [Measures].[Parent Member Name] } on COLUMNS,
[Product].[Product Categories].AllMembers on ROWS
FROM [Adventure Works]
Пример 2. Встроенные свойства, не зависящие от контекста
В следующем примере приведен полный список встроенных свойств, не зависящих от контекста. После выполнения запроса в SSMS щелкните отдельные элементы, чтобы просмотреть их свойства в диалоговом окне под названием "Свойства участника".
SELECT [Measures].[Sales Amount Quota] on COLUMNS,
[Employee].[Employees].members
DIMENSION PROPERTIES
CATALOG_NAME ,
CHILDREN_CARDINALITY ,
CUSTOM_ROLLUP ,
CUSTOM_ROLLUP_PROPERTIES ,
DESCRIPTION ,
DIMENSION_UNIQUE_NAME ,
HIERARCHY_UNIQUE_NAME ,
IS_DATAMEMBER ,
IS_PLACEHOLDERMEMBER ,
KEY0 ,
LCID ,
LEVEL_NUMBER ,
LEVEL_UNIQUE_NAME ,
MEMBER_CAPTION ,
MEMBER_KEY ,
MEMBER_NAME ,
MEMBER_TYPE ,
MEMBER_UNIQUE_NAME ,
MEMBER_VALUE ,
PARENT_COUNT ,
PARENT_LEVEL ,
PARENT_UNIQUE_NAME ,
SKIPPED_LEVELS ,
UNARY_OPERATOR ,
UNIQUE_NAME
ON ROWS
FROM [Adventure Works]
WHERE [Employee].[Employee Department].[Department].&[Sales]
Пример 3. Возврат свойств элемента в виде данных в результирующем наборе
В следующем примере возвращается переведенная подпись для элемента категории продукта в измерении 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 (MDX)
Children (MDX)
Иерархизация (MDX)
Count (набор) (MDX)
Фильтр (MDX)
AddCalculatedMembers (MDX)
DrilldownLevel (MDX)
Свойства (MDX)
PrevMember (MDX)
Использование свойств членов (MDX)