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

Функция NoOfColumns() возвращает количество столбцов в текущем сегменте строки сводной таблицы.

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

Синтаксис:

NoOfColumns([total])

Аргументы

| Аргумент | Описание |
| --- | --- |
| TOTAL | Если таблица имеет одно измерение, или если в качестве аргумента используется префикс TOTAL, текущий сегмент столбца всегда равен всему столбцу.<br><br>[Определение объема агрегирования](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Если сводная таблица имеет несколько горизонтальных измерений, текущий сегмент строки будет включать только столбцы с теми же значениями, что и текущий столбец во всех строках с измерениями, кроме строки с последним измерением в межполевом порядке сортировки. Межполевой порядок сортировки для горизонтальных измерений в сводных таблицах определяется просто по порядку измерений сверху вниз.

Пример. Выражение диаграммы

| Пример | Результат |
| --- | --- |
| `IF(ColumnNo() > NoOfColumns() - 2, Sum(Sales), Null())` | Если `ColumnNo` больше, чем `NoOfColumns` минус `2`, диаграмма вернет значение `Sum(Sales)`. В противном случае, если `ColumnNo` меньше этого значения, она вернет `NULL`. В этом примере диаграмма будет возвращать значения из столбца 3 и далее, а столбцы 1 и 2 не будут возвращать никаких значений. |

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

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

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

Обзор

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

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

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

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

  * `Period`

  * `Sales`

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

```
Example:
Load * inline [
Period, Sales
Q1, 1000
Q2, 2000
Q3, 3000
Q4, 4000
];
```

Результаты

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

* `Period`

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

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

* `=NoOfColumns()`, чтобы вычислить количество столбцов.

Results table

| Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | NoOfColumns() | Sum(Sales) | NoOfColumns() | Sum(Sales) | NoOfColumns() | Sum(Sales) | NoOfColumns() |
| 1000 | 4 | 2000 | 4 | 3000 | 4 | 4000 | 4 |

Результаты показывают сумму продаж для периодов с `Q1` по `Q4`. Функция `NoOfColumns` возвращает значение `4`, потому что в текущем сегменте строки имеется `4` столбца.

## Пример. Сценарий использования функции NoOfColumns

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

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

Обзор

Набор данных содержит показатели продаж за квартал. Требуется показать в сводной таблице показатели продаж только за два последних квартала (Q3 и Q4).

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

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

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

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

  * `Product`

  * `Quarter`

  * `Sales`

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

```
Example:
Load * inline [
Product, Quarter, Sales
Apple, Q1, 100
Apple, Q2, 120
Apple, Q3, 140
Apple, Q4, 160
Banana, Q1, 150
Banana, Q2, 180
Banana, Q3, 200
Banana, Q4, 220
Cherry, Q1, 80
Cherry, Q2, 90
Cherry, Q3, 110
Cherry, Q4, 150
];
```

Результаты

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

* `Product`

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

* `Quarter`

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

* `=IF(ColumnNo() > NoOfColumns() - 2, Sum(Sales), Null())`, чтобы отобразить значения только для двух последних столбцов сводной таблицы (`Q3` и `Q4`).

Results table

| Product | Q1 | Q2 | Q3 | Q4 |
| --- | --- | --- | --- | --- |
| Apple | - | - | 140 | 160 |
| Banana | - | - | 200 | 220 |
| Cherry | - | - | 110 | 150 |

Результаты показывают значения продаж только для столбцов 3 и 4, то есть для последних двух кварталов года.