# ObjectId - 图表函数

ObjectId() 图表函数返回计算表达式的对象的 ID。该函数采用一个可选参数，指定该函数所关注的对象类型。对象可以是工作表或可视化。此函数仅在图表表达式中可用。

语法：

ObjectId([object\_type\_str])

返回数据类型： 字符串

函数的唯一参数 object\_type\_str 是可选的，它引用表示对象类型的字符串值。

参数

| 参数 | 描述 |
| --- | --- |
| object\_type\_str | 表示正在计算的对象类型的字符串值。 |

如果函数表达式中未指定参数，ObjectId() 将返回使用表达式的对象的 ID。要返回显示可视化的工作表对象的 ID，请使用 ObjectId('sheet')。

如果可视化对象嵌套在其他可视化对象中，请在函数参数中为不同的结果指定所需的对象类型。例如，对于容器中的文本和图像图表，使用 'text-image' 返回文本和图像对象，使用 'container' 返回容器的 ID。

执行以下操作：

1. 在分析模式下，将以下文本添加到 URL 中：

   /options/developer

2. 右键单击可视化，然后单击 the 开发者 icon 。

3. 在属性下，从对话框标题获取对象 ID，从“qType”属性获取对象类型。

限制：

当在作为主条目的容器内的对象（例如按钮）中调用此函数时，可能会产生意外的结果。此限制也适用于筛选器窗格主条目，这些主条目是多个列表框的容器。这是因为主条目使用对象层次结构的方式。

在这些情况下，图表表达式 ObjectId('sheet') 将返回一个空字符串，而ObjectId('masterobject') 将显示所属主条目的标识符。

ObjectId() 通常与以下函数结合使用：

相关函数

| 函数 | 交互 |
| --- | --- |
| [if - 脚本和图表函数](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm) | if 和 ObjectId 函数可以一起用于创建条件表达式。例如，可视化可以通过使用这些函数的表达式实现条件着色。 |
| [InObject - 图表函数](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/InObject.htm) | 与 if 类似，InObject 也与 ObjectId 一起用于创建条件表达式。 |

## 示例 1 – 返回图表对象 ID

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

#### 图表表达式和结果

下面的基本示例演示了如何返回可视化的 ID。

执行以下操作：

1. 打开新工作表并将文本和图像图表拖到工作表上。

2. 在属性面板中，单击添加度量。

3. 单击 the 表达式 icon 以打开表达式编辑器。

4. 将以下表达式粘贴到对话框中：

   ```
   =ObjectId()
   ```

5. 单击应用。

文本和图像对象的 ID 显示在可视化中。

使用以下表达式可以获得相同的结果：

```
=ObjectId('text-image')
```

## 示例 2 – 返回表 ID

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

#### 图表表达式和结果

下面的基本示例演示如何返回显示可视化的工作表的 ID。

执行以下操作：

1. 打开新工作表并将文本和图像图表拖到工作表上。

2. 在属性面板中，单击添加度量。

3. 单击 the 表达式 icon 以打开表达式编辑器。

4. 将以下表达式粘贴到对话框中：

   ```
   =ObjectId('sheet')
   ```

5. 单击应用。

工作表的 ID 将显示在可视化中。

## 示例 3 – 嵌套表达式

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

#### 图表表达式和结果

以下示例显示了 ObjectId() 函数如何嵌套在其他表达式中。

执行以下操作：

1. 打开新工作表并将文本和图像图表拖到工作表上。

2. 在属性面板中，单击添加度量。

3. 单击 the 表达式 icon 以打开表达式编辑器。

4. 将以下表达式粘贴到对话框中：

   =if(InObject(ObjectId('text-image')), 'In Text & image', 'Not in Text & image')

5. 单击应用。

In Text & image 文本显示在图表中，表示表达式中引用的对象是文本和图像图表。

有关使用条件着色的更详细示例，请参见[InObject - 图表函数](https://help.qlik.com/zh-CN/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/InObject.htm)。