Query Learning
A Query Learning fixes how Kaiya should interpret a full question pattern (aggregation, grouping, filters, time windows, ranking). It must include an Intent so Kaiya can reuse the learning for similar phrasings.
Navigate Kaiya → Open Side Bar → Manage Learnings → Query Learnings. The following page will be displayed.

You can sort and order the Learnings as follows.

The following will be displayed for each Learning:
Query: literal phrase/alias for which the Learning has been created
Intent/mapping: the resolved meaning for the phrase
Creator name, created time. and the timestamp of last update.
Click on the three-do kebab menu to edit or delete a Learning.
Query Learnings are org-wide patterns. You’ll notice there’s no Learning Level or Selected Business View field in the Query Learning dialog; only admins can create them and they apply across the org. BV is resolved at run time from the user’s active context. If you need per-user or per-BV semantics, use Phrase Learnings.
Click on Create Learning button and the following window will be displayed.

Query: Enter a representative natural-language question users actually ask. Avoid single-word aliases like supplier → use Phrase Learning for that.
Query Type: Choose whether you want to add an analytical query or a compound query.
Analytical Query - Use for a single analysis pattern (one result set) with clear aggregation/grouping/time/filter/ranking. Examples: Top-N per group; threshold + grouping; single MoM/YTD compare.
Compound Query - Use for questions that combine multiple analytical operations into one Learning (multi-step or multi-output logic you want treated as a unit). Examples: “Show MoM revenue by channel and highlight segments where TRx > 150.”, “Compare actual vs plan vs forecast by region with a ranked variance list.”
Intent: Briefly describe in natural language what the query is intended to achieve. This helps Kaiya understand and apply the Learning accurately. Include:
Aggregation(s): sum/avg/count/calculation names
Grouping: the exact “group by” fields
Filters/thresholds: value conditions, segments
Time logic: window and/or Period A vs Period B
Ranking/limits: order by, Top-N, partitions
Why Intent is mandatory?
Different phrasings (“top three per region”, “best 3 by region”) map to the same structured action because the Intent is the anchor. With Intent, Kaiya doesn’t rely on exact tokens; it “knows” what to build even if synonyms or order change, reducing follow-up questions.
Custom Mappings: Turn on to bind tokens from the query to exact Business View fields, eliminating column ambiguity. Ideal for situations when multiple synonyms or overlapping names exist. Click on Add Mapping and the following window appears.

Mapped Phrase: The exact token from the query you’re pinning. Kaiya will resolve this token using the mapping you define.
Type: What kind of thing the phrase represents.
Aggregation: Picks the metric and how to roll it up. Use when the word should always resolve to a specific metric/aggregation.
Dimension: Sets the “group by” field to break down results.
Resolution: Sets the time grain used for grouping without adding a date filter. Use for phrases like “weekly revenue”.
Filter: Applies a non-time condition on a column
Time filter: Constrains the time window or comparison periods
Business View: The specific BV that contains the column you want to bind to.
Column: The exact field in that BV to map to (pick the modeled measure with its aggregation, or the precise dimension/flag).
Click on Apply to save the Learning, or click on Cancel to dismiss.
Finally, click on Save Changes to create the Learning. Or click on Cancel to dismiss.
If you want to delete a Learning, click on Delete Learning button. All the above fields are applicable when editing a Learning.
Last updated
Was this helpful?