Cortex Analyst 中的自定义指令¶
自定义指令让您可以更好地控制 SQL 生成。使用自然语言,可以明确告知 Cortex Analyst 如何从语义模型 YAML 文件生成 SQL 查询。例如,使用自定义指令来告知 Cortex Analyst 您所说的 performance 或 financial year 是什么意思。这样一来,您可以通过合并自定义逻辑或其他元素来提高生成的 SQL 的准确性。
自定义指令的工作原理¶
Cortex Analyst 将 custom_instructions
字段引入语义模型 YAML 文件。此字段允许您将定义修改或添加应用于 SQL 生成。
有关语义模型语法的更多信息,请参阅 Cortex Analyst 语义模型规范。
示例¶
要探索自定义指令的可能用例,请考虑以下示例。
格式化数据输出¶
确保输出中的所有数字都四舍五入到两位小数。
语义模型 YAML 文件中的 custom_instructions
字段¶
custom_instructions: "Ensure that all numeric columns are rounded to 2 decimal points in the output."
生成的 SQL 查询¶
SELECT
ROUND(column_name, 2) AS column_name,
...
FROM
your_table;
调整百分比¶
自动将百分比或比率计算乘以 100 以保持一致性。
语义模型 YAML 文件中的 custom_instructions
字段¶
custom_instructions: "For any percentage or rate calculation, multiply the result by 100."
生成的 SQL 查询¶
SELECT
(column_a / column_b) * 100 AS percentage_rate,
...
FROM
your_table;
添加默认筛选器¶
如果用户未指定筛选器,则应用筛选器(例如默认为去年)。
语义模型 YAML 文件中的 custom_instructions
字段¶
custom_instructions: "If no date filter is provided, apply a filter for the last year."
生成的 SQL 查询¶
SELECT
...
FROM
your_table
WHERE
date_column >= DATEADD(YEAR, -1, CURRENT_DATE);
关联列筛选器¶
根据用户输入对相关列应用其他筛选器。
语义模型 YAML 文件中的 custom_instructions
字段¶
custom_instructions: "If a filter is applied on column X, ensure that the same filter is applied to dimension Y."
生成的 SQL 查询¶
SELECT
...
FROM
your_table
WHERE
column_x = 'filter_value' AND
dimension_y = 'filter_value';
最佳实践¶
- 具体明确。
明确描述修改;例如,“添加固定值为 42 的列”或“包括列 X 的总和计算”。
- 从小处着手。
从简单的修改开始,例如添加静态列或默认筛选器,然后再转向更复杂的方案。
- 预览生成的 SQL 查询。
确保指令按预期应用,并且生成的 SQL 查询正确。
- 逐步迭代。
随着您熟悉该功能,尝试更复杂的用例。