Свойства ячейки многомерных выражений — использование свойств ячейки

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Свойства ячеек в языке многомерных выражений содержат сведения о содержимом и формате ячеек многомерного источника данных, такого как куб.

В многомерных выражениях поддерживается ключевое слово 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 Битовая маска, определяющая стиль шрифта. Значение представляет собой результат побитовой операции OR над одной или несколькими следующими константами.

MDFF_BOLD = 1

MDFF_ITALIC = 2

MDFF_UNDERLINE = 4

MDFF_STRIKEOUT = 8



Например, значение 5 соответствует комбинации полужирного (MDFF_BOLD) и подчеркнутого (MDFF_UNDERLINE) стилей.
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 обычно используется для конвертации валют.
ОБНОВЛЯЕМЫМ Значение, определяющее возможность обновления ячейки. Это свойство может принимать одно из следующих значений:
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 .

По умолчанию, если не используется ключевое слово 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 SQL Server Analysis Services в различных местах. Например, свойство Формат строки можно задать для обычных мер на вкладке Структура куба редактора кубов в SQL Server Data Tools; то же свойство можно задать для вычисляемых мер, определенных в кубе на вкладке Вычисления редактора кубов; вычисляемые меры, определенные в предложении 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)