Cortex Analyst のカスタム手順¶
カスタム手順により、 SQL の生成をより自由にコントロールできます。自然言語を使用することで、 Cortex Analyst にセマンティックモデル YAML ファイル内から SQL クエリを生成する方法を正確に伝えることができます。例えば、カスタム手順を使用して、 パフォーマンス または 会計年度 の意味を Cortex Analyst に伝えます。このように、カスタムロジックや追加要素を組み込むことで、生成される SQL の精度を向上させることができます。
カスタム手順の仕組み¶
Cortex Analyst は、 custom_instructions
フィールドをセマンティックモデルの YAML ファイルに導入します。このフィールドでは、 SQL クエリの生成に定義変更や追加を適用できます。
セマンティックモデルの構文についての詳細は、 Cortex Analyst セマンティックモデル仕様 をご参照ください。
例¶
カスタム手順で可能なユースケースを探るために、以下の例を考えてみましょう。
データ出力のフォーマット¶
出力のすべての数値が10進数で四捨五入されていることを確認してください。
セマンティックモデルの 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 クエリが正しいことを確認してください。
- 徐々に繰り返す。
機能に慣れるにつれて、より複雑なユースケースで実験します。