# SecondaryDimensionality — функция диаграммы

Функция SecondaryDimensionality() возвращает количество строк измерений сводной таблицы, имеющих неагрегированное содержимое, т. е. не содержащих частичных сумм или свернутых агрегированных показателей. Данная функция является эквивалентом функции dimensionality() для горизонтальных измерений сводной таблицы.

Синтаксис:

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/secondarydimensionality.htm)SecondaryDimensionality( )

Возвращаемые типы данных: целое

Ограничения:

* Функция SecondaryDimensionality всегда возвращает 0, за исключением случаев использования в сводных таблицах.

* Сортировка по значениям y на диаграммах или сортировка по столбцам выражений в таблицах не допускается, если в любом из выражений диаграммы используется эта функция диаграмм. Данные возможности сортировки автоматически отключаются. Когда используется эта функция диаграмм в визуализации или таблице, сортировка визуализации будет возвращена к сортировке на входе этой функции.

## Пример. Основы использования функции SecondaryDimensionality

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/secondarydimensionality.htm)

#### Выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Следующие поля в таблице данных:

  * `Date`

  * `Product`

  * `Category`

  * `Sales`

Скрипт загрузки

```
Example:
Load * inline [
Date, Product, Category, Sales
2024-01-01, Apple, Fruit, 100
2024-01-01, Banana, Fruit, 80
2024-02-01, Apple, Fruit, 120
2024-02-01, Banana, Fruit, 90
2024-03-01, Apple, Fruit, 110
2024-03-01, Banana, Fruit, 85
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую сводную таблицу и добавьте это поле как измерение:

* ` Date
                                       `

Добавьте эти поля в качестве измерения столбца:

* `Category`

* `Product`

Создайте следующие меры:

* `=Sum(Sales)`, чтобы вычислить общий объем продаж.

* `=SecondaryDimensionality()`, чтобы вернуть номер измерения с целью демонстрации использования этой функции.

Pivot table showing results for the dimension: Category

|  | (+) Fruit |  |
| --- | --- | --- |
| Date | Sum(Sales) | SecondaryDimensionality() |
| 2024-01-01 | 180 | 1 |
| 2024-02-01 | 120 | 1 |
| 2024-03-01 | 110 | 1 |

В результатах сводной таблицы отображается только измерение `Category`, представленное в виде столбца. Поэтому функция `SecondaryDimensionality` возвращает значение 1.

Если развернуть измерение `Category`, `Fruit`, результаты таблицы теперь будут включать значения измерения `Product`, `Apple` и `Banana`.

Pivot table showing results for two dimensions: Category, Product

| Date | (-) Fruit |  |  |  |
| --- | --- | --- | --- | --- |
| Apple | Banana |  |  |  |
| Sum(Sales) | SecondaryDimensionality() | Sum(Sales) | SecondaryDimensionality() |  |
| 2024-01-01 | 100 | 2 | 80 | 2 |
| 2024-02-01 | 120 | 2 | 90 | 2 |
| 2024-03-01 | 110 | 2 | 85 | 2 |

Функция `SecondaryDimensionality` теперь возвращает значение `2`, поскольку в сводной таблице отображаются значения для двух измерений: `Category` и `Product`.

## Пример. Использование функции SecondaryDimensionality для применения условного форматирования в выражении диаграммы

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/secondarydimensionality.htm)

#### Выражение диаграммы

Обзор

В этом примере функция используется в выражении диаграммы в сводной таблице для применения условного форматирования ячеек в зависимости от того, какой уровень измерения отображается.

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, который загружается в таблицу данных под именем `Example`.

* Следующие поля в таблице данных:

  * `Year`

  * `Quarter`

  * `Product Category`

  * `Sales`

Скрипт загрузки

```
Example:
Load * inline [
Year, Quarter, Product Category, Sales
2023, Q1, Electronics, 5000
2023, Q1, Furniture, 3000
2023, Q2, Electronics, 4000
2023, Q2, Furniture, 3500
2023, Q3, Electronics, 6000
2023, Q3, Furniture, 4500
2023, Q4, Electronics, 7000
2023, Q4, Furniture, 5000
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую сводную таблицу и добавьте это поле как измерение:

* ` Product Category
                                       `

Добавьте эти поля в качестве измерения столбца:

* `Year`

* `Quarter`

Создайте следующую меру:

* `=Sum(Sales)`, чтобы вычислить общий объем продаж.

На панели Свойства меры `Sum(Sales)` введите следующее выражение в поле Выражение для цвета фона:

```
IF(SecondaryDimensionality() = 1,
RGB(144, 238, 144),  // Green for Year-level
RGB(173, 216, 230),  // Blue for Quarter-level
)
```

Это выражение применяет зеленый фон к ячейкам таблицы, если функция `SecondaryDimensionality` возвращает 1, и синий фон, если функция возвращает любой другой результат.

Сводная таблица, где показаны результаты для одного измерения: YearYear с зеленым фоном ячеек

| Категория продукта | (+) 2023 |
| --- | --- |
| Electronics (Электроника) | 22000 |
| Мебель | 16000 |

Результаты показывают, что когда отображается только измерение `Year` и поэтому значение `SecondaryDimensionality` равно 1, ячейки `Sum(Sales)` отображаются на зеленом фоне. Когда таблица разворачивается для отображения `Sum(Sales)` по `Quarter`, фон становится синим, потому что отображаются два измерения, `Year` и `Quarter`, и значение `SecondaryDimensionality` теперь `2`.

Pivot table showing results for two dimensions: YearYear and QuarterQuarter with blue cell background

| Product Category | (-) 2023 |  |  |  |
| --- | --- | --- | --- | --- |
| Q1 | Q2 | Q3 | Q4 |  |
| Electronics | 5000 | 4000 | 6000 | 7000 |
| Furniture | 3000 | 3500 | 4500 | 5000 |