跳转至

向 AI 询问 DTP

简介

Ask AI for DTP 通过简化和加速 DTP 的定义与维护,为管理员用户提供支持。

具体而言,Ask AI 在以下用例中为管理员用户提供支持:

  • 数据模型信息:识别可由 DTP 操作的分析工作区对象(数据集字段、参数、函数等)。
  • 从文本到 SQL:定义和维护 DTP SQL 公式(存在于筛选器、执行条件、匹配字段等中)。

重要:该功能仅支持 AWS 客户;不支持 Azure 客户。

同步 DTP 参数化

确保 Ask AI 拥有响应用户所需全部信息的第一步是同步分析工作区中的数据。

对于特定更改(插入、修改和/或删除元数据——如数据集字段、类型、AW 参数或 DTP 循环),此操作会自动执行,从而允许用户使用 Ask AI 而无需担心手动同步数据。

重要:在导入环境或分析工作区的所有情况下,或在灾难恢复的情况下,必须手动执行此操作。(Application Database > Navigation Panel > Analytic Information Hub > 工作区磁贴上的操作菜单 > Ask AI: sync DTP settings)

Chat Ask AI

重要:仅当用户功能 0004268 - DTP AskAi Assistant 启用时,Ask AI 按钮才可见。

启用后,该按钮仅在 DTP 操作和匹配字段页面中处于活动状态。从这两个页面,您可以使用聊天提交与 2 个用例相关的请求:数据模型信息和从文本到 SQL。

用户的请求可以手动输入,也可以通过语音命令输入。

当用户手动输入或通过语音命令输入的请求发送后,答案经处理后显示在聊天中。有关更多详细信息,请参见使用 Chat Ask AI

重要:数据模型的定义直接决定 Ask AI 聊天响应的质量。

因此,在定义分析工作区时,重要的是避免含糊不清的对象、描述不直观的对象,或引用系统概念的对象(例如:避免引用系统关键字(如 'SOURCE' 或 'TARGET')的字段和描述)。

数据模型信息

通过 Ask AI 聊天,用户可以查询其正在使用的分析工作区的数据模型定义,以及系统参数或与统一 SQL 语法相关的 F_ 函数。参见统一 SQL 语法

提交请求的应用程序上下文由页面上选择的操作决定。

聊天中的请求必须始终引用正在请求信息的数据集,使用诸如"来自源数据集"、"来自参考数据集"等表达方式。如果请求中未指定数据集,Ask AI 聊天将从操作的目标数据集中检索信息。

示例 1 - 关于数据集定义的问题

用户可以询问有关操作所属活动的目标数据集中的字段,或有关操作的源数据集或参考数据集的问题。

此类问题在定义 SQL 筛选器或匹配字段时很有帮助,无需打开数据集定义页面进行分析。

元素 描述
给我源数据集的文本类型字段 源数据集中定义的文本类型的前 10 个字段代码列表,以逗号分隔。
给我 FIELD_1 字段的描述 FIELD_1:字段描述 0 FIELD_1

重要:Ask AI 可以按相似性工作,尝试检索给定请求的最佳匹配。这意味着如果用户在代码中打错字——例如,输入 FIEELD_1 而不是 FIELD_1——系统仍会尝试检测最佳匹配并建议 FIELD_1 字段。但是,验证聊天提供的答案由用户负责。

同样,如果数据集中存在其他代码相似的字段,例如 FIELD_11 或 FIELD_12,聊天将提供这些字段的列表。

示例 2 - 关于 AW 参数的问题

用户可以询问在分析工作区级别定义的参数,而无需导航到其定义页面。

用户可以使用诸如"参数 AW"、"参数 @"或"@PARAM_NAME@"等表达方式来引用这些参数。

如果... ...那么

示例 3 - 关于系统参数的问题

用户可以询问系统参数,使用诸如"系统参数"、"上下文参数"、"参数 #"、"#PARAM_NAME#"等表达方式来引用它们。

如果... ...那么

示例 4 - 关于 F_ 函数的问题

用户可以查询用于编写统一语法 SQL 公式的 F_ 函数;参见统一 SQL 语法

如果... ...那么
给我 isnull 的统一语法 Ask AI 返回: F_NVL(FIELD, VALUE)
给我 F_ISNUMERIC 针对 Postgres 数据库的转换 Ask AI 返回: F_ISNUMERIC(expression): CASE WHEN %1$s ~ '^(-)?\d+(.\d+)?(\,\d+)?$' is true THEN 1 ELSE 0 END
给我 F_SUBSTR 的转换 Ask AI 返回当前数据库供应商语法中该函数的转换。

从文本到 SQL

通过 Ask AI 聊天,用户可以就数学公式、SQL 公式、筛选器、运行条件、组合数据集字段、F_ 函数、AW 和系统参数的定义提出请求。

用户以自然语言表达的请求由 Ask AI 聊天解释,该聊天在数据集代码、参数和函数中检索最佳匹配。

提交请求的应用程序上下文由页面上选择的操作决定。

通过聊天提出的请求必须始终引用正在请求信息的数据集,使用诸如"来自源数据集"、"来自参考数据集"等表达方式。如果请求中未指定数据集,Ask AI 聊天将从操作的目标数据集中检索信息。

示例 5 - 从文本到 SQL

如果... ...那么
当产品在 'A' 和 'B' 列表中时,则将价格除以 100,否则应用折扣价 Ask AI 返回: CASE WHEN PRODUCT IN ('A', 'B') THEN PRICE / 100 ELSE DISC_PRICE END 其中公式中提到的字段是聊天识别的最佳匹配,对应于请求中提供的描述。 注意: 需要使用上标来指示文本字符串,以避免与数据集中的任何字段产生歧义。
将价格乘以 1 与折扣价之间的差 Ask AI 返回: (PRICE * (1 - DISC_PRICE)) 其中公式中提到的字段是聊天识别的最佳匹配,对应于请求中提供的描述。
当参数 # scenario 包含 2025 时应用条件 Ask AI 返回:F_INSTR('#SCENARIOS#', '2025') > 0

注意:系统始终尝试使用统一语法构建公式,确保公式独立于当前数据库。如果用户希望使用正在使用的数据库特定的语法,则必须在请求中指明不应使用 F_ 函数(例如:'当参数 # scenario 包含 2025 时应用条件;不要使用 F_')。

重要:对于上述所有用例,如果 Ask AI 聊天无法识别用户引用的对象,它将提供说明性响应,指出缺少哪些信息。

示例 6 - 未找到信息

如果... ...那么
给我源数据集的 FIELD_1 字段的描述 如果源数据集中没有提到的字段,Ask AI 返回如下消息:字段 'FIELD_1' 不存在于可用数据中。 注意: 答案将使用与问题相同的语言给出。

Ask AI 的错误管理

使用 Ask AI 时,可能会出现无法获得响应的情况。 在这种情况下,会显示错误消息以帮助更好地理解所发生的问题。

示例 7 - 错误消息

如果... ...那么系统显示错误消息:
Ask AI 的 DTP 项目尚未填充来自 CCH Tagetik 的数据 "DTP 参数化中使用的数据未同步。请执行同步以继续使用 Ask AI"