# 警报

定义警报的最简单方式是使用警报向导，该向导可从工具菜单调用。也可在警报对话框中创建和维护警报，该对话框可从工具菜单中打开。警报可以存储为 QlikView 文档的一部分。仅从 QlikView（即非从 AJAX 客户端）的 Windows 版本才可创建并触发警报。

## 使用警报

QlikView 警报检查可通过三种方式触发：

1. 当文档数据可能存在更改时，例如当文档已打开时，当脚本已执行时，或者减少数据操作已执行时，在 QlikView 布局中自动触发。
2. 通过特殊的自动化 API 手动从宏触发。参阅 QlikView API 指南，了解详细信息
3. 通过运行 QlikView 的程序在批处理模式下从外部触发。该程序拥有特殊的自动化 API，用以从给定的上下文中检索已发送警报的列表。

警报检查触发后的事件链如下所示：

![Alert flow chart example](https://help.qlik.com/zh-CN/qlikview/May2024/Subsystems/Client/Content/Resources/Images/AlertFlowChart.png)

每次触发警报均会启动 QlikView 文档的一系列逻辑操作。QlikView 通常必须执行以下主要步骤：

1. 存储当前选择，并显示与警报相关的书签。
2. 重新检查警报条件以验证警报是否相关。如果不是，则恢复原始选择状态。
3. 检查警报是否已挂起，如果已挂起，请恢复原始选择状态。
4. 如果警报未挂起，则显示与警报相关的消息和计算。
5. 执行任何与警报相关的操作，然后恢复原始选择状态。

警报可以选择在触发后挂起。例如，可以将指示已完成每月预算目标的警报设置为只触发一次，然后挂起到下个月，以避免重复发出相同信息的警报。

执行大多数警报操作所需的处理时间等于用户在界面中手动执行等效操作所需的处理时间。在步骤 4 中计算条件表达式值所需的处理时间与表达式驻留在加载的图纸对象中的时间大致相同。综合起来，检查警报条件所需的时间在大型文档中可能会变得很长。因此，使用大量宏触发的警报可能会导致文档加载或响应缓慢。