Свойства ячейки многомерных выражений — использование свойств ячейки
Применимо к: 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)