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

Функция GetFieldSelections() возвращает строку с текущими выборками в поле.

Если выбраны все значения, кроме двух или одного значения, будет использован формат «NOT x,y» или «NOT y» соответственно. Если выбраны все значения и число всех значений больше, чем max\_values, будет возвращен текст ALL.

Синтаксис:

GetFieldSelections ( field\_name [, value\_sep [, max\_values [, state\_name]]])

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

Форматы возвращаемой строки

| Формат | Описание |
| --- | --- |
| 'a, b, c' | Количество выбранных значений — max\_values или меньше, возвращенная строка представляет собой список выбранных значений.<br><br>В качестве разделителя значений используется value\_sep. |
| 'NOT a, b, c' | Количество невыбранных значений — max\_values или меньше, возвращенная строка представляет собой список невыбранных значений с префиксом NOT.<br><br>В качестве разделителя значений используется value\_sep. |
| 'x of y' | x = количество выбранных значений<br><br>y = общее количество значений<br><br>Этот результат возвращается, когда max\_values &lt; x &lt; ( y - max\_values). |
| 'ALL' | Возвращается, если выбраны все значения. |
| '-' | Возвращается, если значения не выбраны. |
| &lt;search string&gt; | Если выборка выполнена с помощью поиска, возвращается строка поиска. |

Аргументы

| Аргументы | Описание |
| --- | --- |
| field\_name | Поле, содержащее диапазон данных для измерения. |
| value\_sep | Разделитель значений в поле. По умолчанию используется «, ». |
| max\_values | Максимальное число отдельно отображаемых значений, введенных в поле. При вводе большого числа значений используется формат «x из y значений». По умолчанию установлено 6. |
| state\_name | Имя альтернативного состояния, выбранное для определенной визуализации. Если используется аргумент state\_name, учитываются только выборки, связанные с указанным именем состояния.<br><br>Для получения дополнительной информации см. [Использование альтернативных состояний для сравнительного анализа](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/alternate-states-comparative-analysis.htm). |

Пример: выражения диаграммы

| Пример | Результат |
| --- | --- |
| `GetFieldSelections( FirstName )` | Возвращает '`-`' (NULL), если ничего не выбрано в поле `FirstName`. В противном случае будет возвращено значение из выбранного множества, например, `John`. |

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getfieldselections.htm)

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

Обзор

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

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

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

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

  * `FirstName`

  * `LastName`

  * `Initials`

  * `HasCellphone`

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

```
Example:
LOAD * inline [
FirstName|LastName|Initials|HasCellphone
John|Anderson|JA|Yes
Sue|Brown|SB|Yes
Mark|Carr|MC|No
Peter|Devonshire|PD|No
Jane|Elliot|JE|Yes
Peter|Franc|PF|Yes ] (delimiter is '|');
```

Результаты

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

   * `FirstName`

2. Создайте объект "Ключевой показатель эффективности", затем добавьте следующую меру:

   * `=GetFieldSelections(FirstName)`, чтобы вернуть значения выборки в поле `FirstName`.

   Примечание к подсказкеВ этом примере стиль ключевого показателя эффективности изменен для использования адаптивного поведения макета, чтобы было удобнее просматривать результаты. Для получения дополнительной информации об изменении поведения макета диаграммы см. раздел [Настройка стиля КПЭ](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/KPI/create-kpis.htm#Styling)

3. Нажмите Изменить лист, чтобы перейти в режим анализа, затем выполните следующие действия в порядке, в котором они перечислены в таблице:

   Действия и результаты в режиме анализа

   | Действие | Результаты КПЭ |
   | --- | --- |
   | Выберите `John` в фильтре `FirstName`. | Мера возвращает значение: `John`. |
   | Выберите `John` и `Peter` в фильтре `FirstName`. | Мера возвращает значение: `John, Peter`. |
   | Нажмите Изменить лист, чтобы перейти в режим редактирования, затем измените выражение Ключевого показателя эффективности следующим образом: `=GetFieldSelections(FirstName,'; ')` | Мера возвращает значения в новом формате `value_sep`: `John; Peter`. |
   | Измените выражение в Ключевом показатель эффективности на следующее: `=GetFieldSelections(FirstName,';', 2)` | Мера возвращает значения в новом формате `value_sep`: `John;Peter`. |
   | Щелкните Изменить лист , чтобы вернуться в режим анализа. Очистите фильтр `FirstName`, а затем выберите `John`, `Sue` и `Mark`. | Мера возвращает `NOT Jane;Peter`, потому что число выбранных значений превышает аргумент `max_value`, равный `2`. Если не задан аргумент `max_value`, отображаются все выбранные имена: `John; Sue; Mark`. |

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

Ключевой показатель эффективности после выбора имен John, Sue, и Mark

Ключевой показатель эффективности после выбора имен John, Sue, и Mark

Ключевой показатель эффективности после выбора имен John, Sue,John, Sue, и MarkMark ![Ключевой показатель эффективности и фильтр, показывающий выбранные значения, которые превышают максимальные значения в функции GetFieldSelections.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetFldSel-example.png)

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

## Пример - сценарий GetFieldSelections

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getfieldselections.htm)

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

Обзор

Функция `GetFieldSelections` используется для выделения имен клиентов при их выборе.

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

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

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

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

  * `OrderID`

  * `CustomerName`

  * `Product`

  * `Quantity`

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

```
Example:
LOAD * INLINE [
OrderID, CustomerName, Product, Quantity
1, John Doe, Laptop, 2
2, Jane Smith, Smartphone, 1
3, Ahmed Khan, Desk, 3
4, Maria Garcia, Chair, 1
5, Li Wei, Blender, 2
];
```

Результаты

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

   * `CustomerName`

   * `Product`

2. Создайте объект "Ключевой показатель эффективности", затем добавьте следующую меру:

   * `=GetFieldSelections(CustomerName)`.

   Примечание к подсказкеВ этом примере стиль ключевого показателя эффективности изменен для использования адаптивного поведения макета, чтобы было удобнее просматривать результаты. Для получения дополнительной информации об изменении поведения макета диаграммы см.[Настройка стиля КПЭ](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/KPI/create-kpis.htm#Styling).

3. Нажмите Изменить лист, чтобы перейти в режим анализа, затем выберите `Jane Smith` и `John Doe` в фильтре поля `CustomerName`.

   Функция `GetFieldSelections` возвращает значения: `Jane Smith, John Doe`.

   ![Результаты Ключевого показателя эффективности показывают, какие имена выбраны в фильтре "Имя клиента".](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetFldSel-example2.png)

Можно увидеть, какие клиенты были выбраны на панели фильтров в Ключевом показателе эффективности.