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

Функция диаграммы InObject() определяет, содержится ли текущий объект внутри другого объекта с идентификатором, заданным в аргументе функции. Объектом может быть лист или визуализация.

Эту функцию можно использовать для отображения иерархии объектов на листе: с объекта листа верхнего уровня до визуализаций, вложенных в другие визуализации. Эту функцию можно использовать вместе с функциями if и ObjectId для создания пользовательской навигации в ваших приложениях.

[Creating a custom navigation in your app using InObject function](https://play.vidyard.com/yZ7ao42dELw6Yy3wiozUNF)

Синтаксис:

InObject(id\_str)

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

В Qlik Sense логическое значение «истина» представлено как -1, а «ложь» — как 0.

Аргументы

| Аргумент | Описание |
| --- | --- |
| id\_str | Строковое значение, представляющее идентификатор оцениваемого объекта. |

Вы можете использовать меню Embed для получения идентификаторов объектов.

Выполните следующие действия.

1. В режиме анализа щелкните правой кнопкой мыши визуализацию или лист, а затем нажмите the Поделиться icon &gt; the Встроить icon .

2. Скопируйте идентификатор объекта или листа.

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

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

Функция InObject() часто используется в сочетании со следующими функциями:

Связанные функции

| Функция | Взаимодействие |
| --- | --- |
| [if Функция скрипта и диаграммы](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm) | Функции if и ObjectId можно использовать вместе для создания условных выражений. Например, на визуализации можно применять условные цвета, используя выражения с этими функциями. |
| [ObjectId — функция диаграммы](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/ObjectId.htm) | Аналогично if, ObjectId также используется с функцией InObject для создания условных выражений. |

## Пример 1. Базовые функциональные возможности

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/InObject.htm)

#### Выражение диаграммы и результаты

Следующий базовый пример показывает, как определить, содержится ли данный объект внутри другого объекта. В данном случае мы проверим, находится ли объект Текст и изображение в объекте листа, используя идентификатор листа в качестве аргумента.

Выполните следующие действия.

1. Откройте новый лист и на панели Ресурсы откройте Диаграммы.

2. В разделе Устаревшие перетащите диаграмму Текст и изображениена лист.

3. На панели свойств щелкните Добавить меру.

4. Щелкните элемент the Выражение icon, чтобы открыть редактор выражения.

5. Вставьте следующее выражение в диалоговое окно:

   ```
   =InObject()
   ```

6. Измените выражение, чтобы включить идентификатор листа в виде строки, заключенной в круглые скобки.

   Например, для листа с идентификатором 1234-5678, будет использоваться следующее:

   `=InObject('1234-5678')`

7. Нажмите Применить.

Значение `-1` отображается на диаграмме, указывая на то, что оценка выражения дает результат true (истина).

## Пример 2. Объекты с условными цветами

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/InObject.htm)

#### Выражение диаграммы и результаты

Обзор

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

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

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

```
Transactions: 

Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'4/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'7/26/2022',45.89 
8198,'8/9/2022',36.23 
8199,'9/22/2022',25.66 
8200,'11/23/2022',82.77 
8201,'12/27/2022',69.98 
8202,'1/1/2023',76.11 
8203,'2/8/2022',25.12 
8204,'3/19/2022',46.23 
8205,'6/26/2022',84.21 
8206,'9/14/2022',96.24 
8207,'11/29/2022',67.67 
]; 
```

Создание визуализаций

Загрузите данные и создайте два новых листа. Назовите их Продажи 2022 и Продажи 2023 соответственно.

На листе Продажи 2022 включите расширенные параметры. Затем создайте два объекта кнопки, которые будут использоваться для перехода между двумя листами.

Выполните следующие действия.

1. Добавьте два объекта Кнопка на лист.

2. Выберите Вид &gt; Общие, задайте для параметра Метка каждой кнопки значение Продажи 2022 и Продажи 2023, соответственно.

3. Расположите кнопки, как показано ниже.

   Раскладка листа Продажи 2022 с двумя кнопками навигации

   Раскладка листа Продажи 2022 с двумя кнопками навигации

   Раскладка листа Продажи 2022Продажи 2022 с двумя кнопками навигации![Лист «Продажи 2022» с двумя кнопками, на которых отображаются метки «Продажи 2022» и «Продажи 2023» соответственно.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/ObjectId_ConditionalColorButtonsArrangement.png)

4. Нажмите кнопку Продажи 2022 и разверните меню Действия и навигация на панели свойств.

5. Нажмите кнопку Добавить действие и в области Навигация выберите Перейти к листу.

6. В списке Лист выберите Продажи 2022.

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

8. Преобразуйте кнопки в основные элементы, щелкнув их правой кнопкой и выбрав the Добавить к основным элементам icon .

Теперь можно копировать каждую кнопку и вставить ее на лист Продажи 2023, используя тот же размер и раскладку на листе.

Создание условных цветов

Затем настройте кнопки, чтобы они становились голубыми, если связаны с текущим открытым листом и светло-серыми, если они связаны с другим листом.

Выполните следующие действия.

1. Откройте лист Продажи 2022 и получите его идентификатор из URL-адреса. Оставьте лист Продажи 2022 открытым.

2. Щелкните основной элемент кнопки Продажи 2022 и выберите Изменить на панели свойств.

3. Выберите Вид &gt; Фон, затем выберите цвет, чтобы раскрасить кнопку По выражению.

4. В поле Выражение вставьте следующий текст:

   =if(InObject(''), Blue(), LightGray())

5. В приведенном выше выражении вставьте в скобках идентификатор листа Продажи 2022.

Настроенная кнопка станет голубой, когда открыт лист Продажи 2022, и светло-серой, когда открыт другой лист.

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

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

Кнопка Продажи 2022 голубого цвета указывает, что в данный момент открыт лист «Продажи 2022»

Кнопка Продажи 2022 голубого цвета указывает, что в данный момент открыт лист «Продажи 2022»

Кнопка Продажи 2022Продажи 2022 голубого цвета указывает, что в данный момент открыт лист «Продажи 2022» ![Режим анализа для листа «Продажи 2022» с двумя кнопками, на которых отображаются метки «Продажи 2022» и «Продажи 2023» соответственно.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/ObjectId_ConditionalColorButtonsSales2022.png)