Использование расширенных свойств поля для базы данных служб Analysis Services
Изменения: 14 апреля 2006 г.
Модуль обработки данных служб SQL Server Analysis Services поддерживает расширенные свойства полей. Расширенные свойства полей — это дополнительные свойства, доступные для конкретного источника данных, помимо свойств Value и IsMissing, и поддерживаемые модулем обработки данных. Расширенные свойства не отражаются в области наборов данных как часть коллекции полей набора данных для отчета. Значения расширенных свойств полей могут быть включены в отчет с помощью выражений, которые указывают их по именам в глобальной коллекции Fields.
Расширенные свойства могут быть как стандартными, так и пользовательскими. Стандартные свойства — это свойства, общие для большинства источников данных, сопоставленные с определенными именами свойств полей и доступные по именам в глобальной коллекции Fields. Пользовательские свойства определяются конкретным поставщиком данных и доступны в глобальной коллекции Fields только при использовании синтаксиса, включающего имя расширенного свойства в виде строки.
Если для определения запроса применяется конструктор запросов MDX служб Analysis Services в графическом режиме, в запрос MDX автоматически добавляется стандартный набор свойств ячеек и измерений. При этом могут быть использованы только те расширенные свойства, которые перечислены в запросе MDX данного отчета. В зависимости от отчета может потребоваться изменить текст по умолчанию команды запроса MDX, включив дополнительное измерение или пользовательские свойства, определенные в кубе. Дополнительные сведения о расширенных полях, доступных в источниках данных служб Analysis Services, см. в разделе Создание и использование значений свойств (многомерные выражения).
Работа со свойствами полей в отчете
Расширенные свойства полей включают стандартные свойства и свойства, зависящие от конкретного поставщика данных. Свойства полей не отображаются в списке полей в окне «Наборы данных» вне зависимости от того, содержатся ли они в запросе, построенном для набора данных. Таким образом, перетащить свойства полей в макет отчета невозможно. Вместо этого следует перетащить в отчет поле, а затем заменить его свойство Value на то, которое необходимо использовать.
Для ссылки на расширенное свойство, не являющееся стандартным, используйте в выражении следующий синтаксис:
- Fields!FieldName("PropertyName")
Предопределенные свойства поля
В большинстве случаев стандартные свойства поля относятся к мерам, уровням или измерениям. Предопределенное свойство поля должно иметь соответствующее значение, хранящееся в источнике данных служб Analysis Services. Если такое значение не существует или, например, указывается свойство поля только для меры на уровне, это свойство возвращает значение NULL.
Для ссылки на предопределенное свойство из выражения можно использовать любой из следующих вариантов синтаксиса:
- Fields!FieldName.PropertyName
- Fields!FieldName("PropertyName")
В следующей таблице представлены стандартные свойства поля, которые можно использовать.
Свойство | Тип | Описание или ожидаемое значение |
---|---|---|
Value |
Object |
Указывает значение данных поля. |
IsMissing |
Boolean |
Указывает, найдено ли поле в полученном наборе данных. |
UniqueName |
String |
Возвращает полностью уточненное имя уровня. Например, значение UniqueName для служащего должно иметь вид [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272]. |
BackgroundColor |
String |
Возвращает цвет фона, определенный в базе данных для поля. |
Color |
String |
Возвращает цвет символов, определенный в базе данных для элемента. |
FontFamily |
String |
Возвращает название шрифта, определенного в базе данных для элемента. |
FontSize |
String |
Возвращает размер шрифта, определенного в базе данных для элемента. |
FontWeight |
String |
Возвращает тип шрифта, определенного в базе данных для элемента. |
FontStyle |
String |
Возвращает стиль шрифта, определенного в базе данных для элемента. |
TextDecoration |
String |
Возвращает специальное форматирование текста, определенное в базе данных для элемента. |
FormattedValue |
String |
Возвращает форматированное значение для меры или ключевую цифру. Например, свойство FormattedValue для поля Sales Amount Quota возвращает значение в формате валюты, такое как 1 124 400,00 р. |
Key |
Object |
Возвращает ключ для уровня. |
LevelNumber |
Integer |
Для иерархий типа «родители-потомки» возвращает номер уровня или измерения. |
ParentUniqueName |
String |
Для иерархий типа «родители-потомки» это свойство возвращает полное имя родительского уровня. |
В технологии IntelliSense при вводе в поле синтаксических конструкций в редакторе выражений отображаются его стандартные свойства. Дополнительные сведения см. в разделе Применение глобальных коллекций в выражениях (службы Reporting Services).
Примечание. |
---|
Значения для этих расширенных свойств полей существуют только в случае, если источник данных (например, куб служб Analysis Services) предоставляет эти значения в момент, когда отчет выполняется и производит выборку данных для своих наборов данных. В дальнейшем на эти значения свойств полей можно ссылаться с помощью синтаксиса, описанного ниже. Однако, поскольку эти поля уникальны для данного поставщика данных, изменения соответствующих значений не сохраняются вместе с определением отчета. |
Примеры расширенных свойств
В качестве примера расширенных свойств следующий запрос MDX и результирующий набор содержат несколько свойств элементов, доступных из атрибута измерения, определенного в кубе. Это свойства MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME и MEMBER_KEY.
Этот запрос MDX выполняется к кубу AdventureWorks в базе данных AdventureWorks DW, поставляемой в составе образцов баз данных AdventureWorks.
WITH MEMBER [Measures].[DateCaption]
AS '[Date].[Date].CURRENTMEMBER.MEMBER_CAPTION'
MEMBER [Measures].[DateUniqueName]
AS '[Date].[Date].CURRENTMEMBER.UNIQUENAME'
MEMBER [Measures].[DateDayName]
AS '[Date].[Date].Properties("Day Name")'
MEMBER [Measures].[DateValueinOriginalDatatype]
AS '[Date].[Date].CURRENTMEMBER.MEMBER_VALUE'
MEMBER [Measures].[DateParentUniqueName]
AS '[Date].[Date].CURRENTMEMBER.PARENT_UNIQUE_NAME'
MEMBER [Measures].[DateMemberKeyinOriginalDatatype]
AS '[Date].[Date].CURRENTMEMBER.MEMBER_KEY'
SELECT {
[Measures].[DateCaption],
[Measures].[DateUniqueName],
[Measures].[DateDayName],
[Measures].[DateValueinOriginalDatatype],
[Measures].[DateParentUniqueName],
[Measures].[DateMemberKeyinOriginalDatatype]
} ON COLUMNS , [Date].[Date].ALLMEMBERS ON ROWS
FROM [Adventure Works]
При его запуске в области запроса MDX получается результирующий набор из 1158 строк. Первые четыре из них приведены в следующей таблице.
DateCaption | DateUniqueName | DateDayName | DateValueinOriginalDatatype | DateParentUniqueName | DateMemberKeyinOriginalDatatype |
---|---|---|---|---|---|
All Periods |
[Date].[Date].[All Periods] |
(null) |
(null) |
(null) |
0 |
1 июля 2001 г. |
[Date].[Date].&[1] |
Воскресенье |
7/1/2001 |
[Date].[Date].[All Periods] |
1 |
2 июля 2001 г. |
[Date].[Date].&[2] |
Понедельник |
7/2/2001 |
[Date].[Date].[All Periods] |
2 |
3 июля 2001 г. |
[Date].[Date].&[3] |
7/3/2001 |
[Date].[Date].[All Periods] |
3 |
Запросы MDX по умолчанию, созданные при помощи конструктора запросов MDX в графическом режиме, включают для измерения только свойства MEMBER_CAPTION и UNIQUENAME. По умолчанию эти значения всегда имеют тип String.
Если необходимо получить свойство элемента с его оригинальным типом данных, можно добавить дополнительное свойство MEMBER_VALUE, изменив инструкцию MDX по умолчанию в обычном редакторе запросов. В следующей простой инструкции MDX свойство MEMBER_VALUE добавлено в список получаемых свойств измерения.
SELECT NON EMPTY {[Measures].[Order Count]} ON COLUMNS,
NON EMPTY { ([Date].[Month of Year].[Month of Year] ) }
DIMENSION PROPERTIES
MEMBER_CAPTION, MEMBER_UNIQUE_NAME, MEMBER_VALUE ON ROWS
FROM [Adventure Works]
CELL PROPERTIES
VALUE, BACK_COLOR, FORE_COLOR,
FORMATTED_VALUE, FORMAT_STRING,
FONT_NAME, FONT_SIZE, FONT_FLAGS
Первые четыре строки результата в области результатов многомерного выражения приведены в следующей таблице.
Месяц года | Число заказов |
---|---|
Январь |
2,481 |
Февраль |
2,684 |
Март |
2,749 |
Апрель |
2,739 |
Хотя свойства являются частью многомерного выражения инструкции выборки, они не отражаются в столбцах результирующего набора. Но данные все же доступны отчету при использовании расширенных свойств. В области результатов запроса MDX в среде SQL Server Management Studio с помощью двойного щелчка в любой ячейке можно просмотреть значения свойств, если они заданы в кубе. Если дважды щелкнуть ячейку «Число заказов», в которой содержится значение 1379, то откроется всплывающее окно, содержащее следующие свойства ячейки.
Свойство | Значение |
---|---|
CellOrdinal |
0 |
VALUE |
2481 |
BACK_COLOR |
(null) |
FORE_COLOR |
(null) |
FORMATTED_VALUE |
2,481 |
FORMAT_STRING |
#,# |
FONT_NAME |
(null) |
FONT_SIZE |
(null) |
FONT_FLAGS |
(null) |
Если с помощью этого запроса создать набор данных для отчета и привязать его к таблице, то будет доступно свойство поля по умолчанию VALUE, например =Fields!Month_of_Year!Value
. Если это выражение указано в качестве выражения сортировки таблицы, результат будет упорядочен по названиям месяцев в алфавитном порядке, поскольку по умолчанию поле Value имеет тип String. Для правильной сортировки таблицы по месяцам с января по декабрь воспользуйтесь следующим выражением.
=Fields!Month_of_Year("MEMBER_VALUE")
В этом случае таблица упорядочивается по значению поля в исходном типе данных, как оно представлено в источнике данных.
См. также
Справочник
Применение глобальных коллекций в выражениях (службы Reporting Services)
Основные понятия
Определение наборов данных отчетов для многомерных данных и данных прогноза интеллектуального анализа служб Analysis Services
Определение наборов данных отчета для многомерных данных системы SAP NetWeaver BI
Другие ресурсы
Использование выражений в службах Reporting Services
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
12 декабря 2006 г. |
|
14 апреля 2006 г. |
|