# InObject - 圖表函數

InObject() 圖表函數評估另一個具有函數引數中指定 ID 的物件內是否包含目前物件。物件可以是工作表或視覺化。

此函數可用來顯示工作表中的物件階層，從上層工作表物件到嵌於其他視覺化內部的視覺化。此函數可以隨 if 和 ObjectId 函數使用，以在您的應用程式中建立自訂導覽。

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

語法：

InObject(id\_str)

傳回的資料類型： 布林值

在 Qlik Sense 中，布林值 true 值以 -1 代表，而 false 值以 0 代表。

引數

| 引數 | 描述 |
| --- | --- |
| id\_str | 呈現評估中物件 ID 的字串值。 |

您可以使用 Embed 功能表來取得物件 ID。

請執行下列動作：

1. 在分析模式中，以滑鼠右鍵按一下視覺效果或工作表，然後按一下 the 共用 icon &gt; the 內嵌 icon 。

2. 複製物件或工作表 ID。

限制：

在作為主項目之容器內部的物件 (例如按鈕) 中叫用時，此函數可以提供意外結果。此限制也適用於篩選窗格主項目，這是一些清單方塊的容器。其原因是主項目使用物件階層的方式。

InObject() 通常用於組合下列函數：

相關函數

| 函數 | 互動 |
| --- | --- |
| [if 指令碼與圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm) | if 和 ObjectId 函數可以一起使用，以建立條件運算式。例如，視覺化可能會透過使用這些函數的運算式實現條件式著色。 |
| [ObjectId - 圖表函數](https://help.qlik.com/zh-TW/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)

#### 圖表運算式和結果

下列基本範例呈現如何判定物件是否包含在另一個物件內部。在此案例中，我們將會使用工作表 ID 作為引數，檢查文字與影像物件是否位於工作表物件中。

請執行下列動作：

1. 開啟新的工作表，然後在資產面板中，開啟圖表。

2. 在舊版下方，將文字與影像圖拖曳到工作表。

3. 在屬性面板中，按一下新增量值。

4. 按一下 the 運算式 icon 可開啟運算式編輯器。

5. 在對話方塊中貼上以下運算式：

   ```
   =InObject()
   ```

6. 修改運算式，以納入工作表 ID 作為括弧之間的字串。

   例如，對於具有 ID 1234-5678 的工作表，您會使用以下內容：

   `=InObject('1234-5678')`

7. 按一下套用。

值 `-1` 會顯示在圖表中，指示運算式評估為真。

## 範例 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 
]; 
```

建立視覺化

載入資料並建立兩個新的工作表。分別將標題設為 Sales 2022 和 Sales 2023。

在 Sales 2022 工作表中，開啟進階選項。接下來，建置兩個將用來在兩個工作表之間導覽的按鈕物件。

請執行下列動作：

1. 將兩個按鈕物件新增至工作表。

2. 在外觀 &gt; 一般之下，分別將每個按鈕的標籤設定為 Sales 2022 和 Sales 2023。

3. 排列按鈕以符合下圖。

   Sales 2022 工作表排列與兩個導覽按鈕

   Sales 2022 工作表排列與兩個導覽按鈕

   Sales 2022Sales 2022 工作表排列與兩個導覽按鈕![具有兩個按鈕的 Sales 2022 工作表，標籤分別為「Sales 2022」和「Sales 2023」。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/ObjectId_ConditionalColorButtonsArrangement.png)

4. 選取 Sales 2022 按鈕，並在屬性面板展開動作和導覽。

5. 按一下新增動作，並在導覽之下選取前往工作表。

6. 在工作表之下，選取 Sales 2022。

7. 重複此按鈕動作設定，以將 Sales 2023 按鈕連結至 Sales 2023 工作表。

8. 用滑鼠右鍵按一下按鈕並選取 the 新增至主項目 icon ，以將按鈕轉換為主項目。

您現在可以在工作表上使用相同大小和排列方式，複製每個按鈕並在 Sales 2023 工作表中貼上。

建立條件式色彩

接下來，設定按鈕，若按鈕連結至目前開啟的工作表，就會是藍色；若連結至未開啟的工作表，就會是淺灰色。

請執行下列動作：

1. 開啟 Sales 2022 工作表並從 URL 取得工作表 ID。保持 Sales 2022 工作表開啟。

2. 按一下 Sales 2022 按鈕主項目並在屬性面板中選取編輯。

3. 在外觀 &gt; 背景之下，選取以依運算式著色按鈕。

4. 在運算式中，貼上以下文字：

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

5. 在上述運算式的括弧之間，貼上 Sales 2022 工作表的工作表 ID。

按鈕現在設定為在 Sales 2022 工作表開啟時變成藍色，並在未開啟時變成淺灰色。

為 Sales 2023 工作表重複上述說明，將 Sales 2023 按鈕主項目連結至 Sales 2023 工作表 ID。

每個工作表現在應有兩個按鈕，以藍色指示目前開啟的工作表。

目前顯示指示 2022 年銷售額的藍色 Sales 2022 工作表

目前顯示指示 2022 年銷售額的藍色 Sales 2022 工作表

目前顯示指示 2022 年銷售額的藍色 Sales 2022Sales 2022 工作表 ![具有兩個按鈕的 Sales 2022 工作表分析模式，標籤分別為「Sales 2022」和「Sales 2023」。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/ObjectId_ConditionalColorButtonsSales2022.png)