Свойства ячеек (многомерные выражения)
Свойства ячеек в языке многомерных выражений содержат сведения о содержимом и формате ячеек многомерного источника данных, такого как куб.
В многомерных выражениях поддерживается ключевое слово CELL PROPERTIES инструкции многомерных выражений SELECT, которое служит для обращения к внутренним свойствам ячеек. Внутренние свойства ячеек чаще всего применяются для наглядного представления данных ячейки.
Синтаксис ключевого слова CELL PROPERTIES
Для указания ключевого слова CELL PROPERTIES
в инструкции многомерных выражений SELECT
используется следующий синтаксис.
SELECT [<axis_specification>
[, <axis_specification>...]]
FROM [<cube_specification>]
[WHERE [<slicer_specification>]]
[<cell_props>]
В следующей синтаксической конструкции демонстрируется формат значения <cell_props>
и использование этим значением ключевого слова CELL PROPERTIES
с одним или несколькими внутренними свойствами ячеек.
<cell_props> ::= CELL PROPERTIES <property> [, <property>...]
Поддерживаемые внутренние свойства ячеек
В следующей таблице перечислены поддерживаемые внутренние свойства ячеек, используемые в качестве значений <property>
.
Свойство | Описание |
---|---|
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 Примечание. Действия детализации не поддерживаются для запросов, содержащих набор в предложении WHERE. |
BACK_COLOR | Цвет фона при отображении свойства VALUE или FORMATTED_VALUE . Дополнительные сведения см. в разделе FORE_COLOR и содержимое BACK_COLOR (многомерные выражения). |
CELL_ORDINAL |
Порядковый номер ячейки в наборе данных. |
FONT_FLAGS | Битовая маска, определяющая стиль шрифта. Например, значение 5 соответствует комбинации полужирного (MDFF_BOLD ) и подчеркнутого (MDFF_UNDERLINE ) стилей. Значение представляет собой результат побитовой операции OR над одной или несколькими следующими константами.MDFF_BOLD = 1MDFF_ITALIC = 2MDFF_UNDERLINE = 4MDFF_STRIKEOUT = 8 |
FONT_NAME | Название шрифта, используемого для отображения свойства VALUE или FORMATTED_VALUE . |
FONT_SIZE | Размер шрифта, используемого для отображения свойства VALUE или FORMATTED_VALUE . |
FORE_COLOR | Цвет переднего плана при отображении свойства VALUE или FORMATTED_VALUE . Дополнительные сведения см. в разделе FORE_COLOR и содержимое BACK_COLOR (многомерные выражения). |
FORMAT |
Эквивалентно FORMAT_STRING . |
FORMAT_STRING |
Строка формата, с помощью которой создается значение свойства FORMATTED_VALUE . Дополнительные сведения см. в разделе содержимое FORMAT_STRING (многомерные выражения). |
FORMATTED_VALUE |
Символьная строка, представляющая собой форматированный вывод свойства VALUE . |
LANGUAGE |
Локаль, к которой будет применяться FORMAT_STRING . LANGUAGE обычно используется для конвертации валют. |
UPDATEABLE |
Значение, определяющее возможность обновления ячейки. Это свойство может принимать одно из следующих значений:MD_MASK_ENABLED (0x00000000) Ячейку можно обновить.MD_MASK_NOT_ENABLED (0x10000000) Ячейка не может быть обновлена.CELL_UPDATE_ENABLED (0x00000001) Ячейка может быть обновлена в наборе ячеек.CELL_UPDATE_ENABLED_WITH_UPDATE (0x00000002) Ячейку можно обновить с помощью инструкции update. Операция может не выполниться, если обновляемая конечная ячейка не доступна для записи.CELL_UPDATE_NOT_ENABLED_FORMULA (0x10000001) Ячейка не может быть обновлена, так как ячейка имеет вычисляемый член между ее координатами; ячейка была извлечена с набором в предложении where. Ячейку можно обновить, даже если значение ячейки зависит от формулы или от вычисляемого элемента (например, если она обрабатывается статистической функцией). В этом случае итоговое значение ячейки может не соответствовать обновленному значению, поскольку на результат влияют вычисления.CELL_UPDATE_NOT_ENABLED_NONSUM_MEASURE (0x10000002) Ячейка не может быть обновлена, так как не суммарные меры (count, min, max, distinct count, semi-additive) не могут быть обновлены.CELL_UPDATE_NOT_ENABLED_NACELL_VIRTUALCUBE (0x10000003) Ячейка не может быть обновлена, так как ячейка не существует, так как она находится на пересечении меры и члена измерения, не связанного с группой мер.CELL_UPDATE_NOT_ENABLED_SECURE (0x10000005) Невозможно обновить ячейку, так как она защищена.CELL_UPDATE_NOT_ENABLED_CALCLEVEL (0x10000006) Зарезервировано для использования в будущем.CELL_UPDATE_NOT_ENABLED_CANNOTUPDATE (0x10000007) Ячейка не может быть обновлена из-за внутренних причин.CELL_UPDATE_NOT_ENABLED_INVALIDDIMENSIONTYPE (0x10000009) Ячейку невозможно обновить, так как обновление не поддерживается в модели интеллектуального анализа данных, непрямом анализе данных или измерениях интеллектуального анализа данных. |
VALUE |
Неформатированное значение ячейки. |
Для работы с ячейками требуются только свойства ячеек CELL_ORDINAL
, FORMATTED_VALUE
и VALUE
. Все внутренние или предоставленные поставщиком свойства ячеек, включая их типы данных и поддержку поставщиками, определены в наборе строк схемы PROPERTIES
. Дополнительные сведения о наборе PROPERTIES
строк схемы см. в разделе MDSCHEMA_PROPERTIES набор строк.
По умолчанию, если не используется ключевое слово CELL PROPERTIES
, возвращаются свойства ячеек VALUE
, FORMATTED_VALUE
и CELL_ORDINAL
(именно в этом порядке). Если используется ключевое слово CELL PROPERTIES
, возвращаются свойства ячеек, явно перечисленные в ключевом слове.
В следующем примере иллюстрируется использование ключевого слова CELL PROPERTIES
в многомерном запросе.
SELECT
{[Measures].[Reseller Gross Profit]} ON COLUMNS,
{[Reseller].[Reseller Type].[Reseller Name].Members} ON ROWS
FROM [Adventure Works]
CELL PROPERTIES VALUE, FORMATTED_VALUE, FORMAT_STRING, FORE_COLOR, BACK_COLOR
Свойства ячеек не возвращаются многомерными запросами, возвращающими плоские наборы строк; в этом случае каждая ячейка представляется так, как если бы возвращалось лишь свойство ячейки FORMATTED_VALUE
.
Настройка свойств ячеек
Свойства ячейки можно задать в Microsoft SQL Server Analysis Services в различных местах. Например, свойство Format String можно задать для регулярных мер на вкладке Структура куба редактора кубов в SQL Server Data Tools (SSDT); то же свойство можно задать для вычисляемых мер, определенных в кубе на вкладке Вычисления редактора кубов; вычисляемые меры, определенные в предложении WITH запроса, также имеют строку формата. В следующем запросе показано, как можно задать свойства ячейки для вычисляемой меры:
WITH MEMBER MEASURES.CELLPROPERTYDEMO AS [Measures].[Internet Sales Amount]
, FORE_COLOR=RGB(0,0,255)
, BACK_COLOR=IIF([Measures].[Internet Sales Amount]>7000000, RGB(255,0,0), RGB(0,255,0))
, FONT_SIZE=10
, FORMAT_STRING='#,#.000'
SELECT MEASURES.CELLPROPERTYDEMO ON 0,
[Date].[Calendar Year].[Calendar Year].MEMBERS ON 1
FROM [Adventure Works]
CELL PROPERTIES VALUE, FORMATTED_VALUE, FORE_COLOR, BACK_COLOR, FONT_SIZE
См. также:
Основные принципы запросов многомерных выражений (службы Analysis Services)