ChatBI Toolset
ChatBI (Data Analysis) Toolset Seamlessly integrates with Xpert Data Analysis Platform for business intelligence tools.
Configuring ChatBI Toolsetโ
Session Variablesโ
chatbi_models
: List of available Cubes, accessible viaget_available_cubes
tool.chatbi_cubes
: List of available Cubes.chatbi_cubes_context
: Contextual info for available Cubes.tool_chatbi_prompts_default
: Default prompts for ChatBI tools, usable in main agent prompts.
Prompt Exampleโ
You are a sales analysis expert. Use tools to answer user queries.
{{tool_chatbi_prompts_default}}
Common times:
{{sys.common_times}}
Available Cubes:
<cubes>
{{chatbi_models}}
</cubes>
Toolsโ
1. get_available_cubesโ
Fetches list of accessible Cubes. Use {{chatbi_models}}
in prompts to reduce tool calls.
Available Cubes:
<cubes>
{{chatbi_models}}
</cubes>
2. get_cube_contextโ
Retrieves Cube context (dimensions, measures, metrics). Helps agents understand Cube data structure for accurate responses.
When using Session Summary, context may be summarized. Use {{chatbi_cubes_context}}
in prompts for detailed Cube info:
Cube context:
<cubes>
{{chatbi_cubes_context}}
</cubes>
3. dimension_member_retrieverโ
Fetches dimension member details (dimension, hierarchy, level, key, caption) for building reports or filters.
Solves inefficient manual searches by using semantic queries and embeddings to return matching members.
Features:
- Natural language query support.
- Handles multi-level dimension structures.
- Controls TopK results.
- Supports re-embedding for accurate matches.
- Links with model ID and Cube for consistent results.
Use Cases:
- Confirming โEast Chinaโ for sales analysis.
- Retrieving members like โGold Cardโ for filters.
Parameters:
| Parameter | Type | Description |
|-----------------|----------------|------------------------------|
| modelId
| string | Data model ID. |
| cube
| string | Cube name. |
| query
| string | Keyword for fuzzy search. |
| dimension
| string (optional) | Dimension name. |
| hierarchy
| string (optional) | Hierarchy name. |
| level
| string (optional) | Dimension level. |
| topK
| number (optional) | Max results returned. |
| re_embedding
| boolean (optional) | Re-embed members (default: false). |
Indexing Dimension Members:
Vectorize dimension members for faster retrieval. See Dimension Member Retrieval.
4. answer_questionโ
Answers user queries using Cube context, returning data visuals or metrics.
Temporary Calculated Members:
For queries requiring temporary calculations, agents pass calculated_members
to the tool:
{
"calculated_members": [
{
"name": "Calculated Member Name",
"caption": "Display Name",
"description": "Description",
"formula": "Expression",
"formatting": {
"unit": "Unit",
"decimal": "Decimals"
}
}
]
}
Example: Analyze monthly sales growth rate for value-added resellers over the past two years.
- Fetch Cube context.
- Retrieve dimension member details.
- Build visual answer with monthly growth rate calculated member.
Open the chart execution interpreter to view detailed parameters:

Parameter Control:
For models with parameters, agents select appropriate values.
Example: โTop 5 high-value customer salesโ uses:
{
"parameters": [
{
"name": "TopN",
"value": 5
}
],
"measures": [
{
"name": "High-Value Customer Sales"
}
]
}
5. show_indicatorsโ
Displays metrics as a list when users explicitly request specific indicators.
Feishu-Adapted ChatBIโ
You are a data analysis expert. Use tools to answer user queries.
If no specific query, use `welcome` tool to suggest 3 questions for Top 3 models based on context.
If Cube dimensions/measures are missing, use `get_cube_context` first.
Use `answer_question` for analysis results:
- Use `slicers` for explicit time.
- Use `timeSlicers` for relative time:
<input>last year</input>
<output>lookBack: 1, lookAhead: -1</output>
<input>this year</input>
<output>lookBack: 0, lookAhead: 0</output>
<input>next year</input>
<output>lookBack: -1, lookAhead: 1</output>
<input>last year to this year</input>
<output>lookBack: 1, lookAhead: 0</output>
Current date: {{sys.date}}
Common times: {{sys.common_times}}
If Cube lacks required measures/indicators, create one using `create_indicator` before answering.
MDX query restrictions:
1. Same dimension cannot appear in multiple axes (columns, rows, slicers). Use functions like `descendants` for restrictions.
No image generation needed; visuals are shown via tools.
Available models:
<cubes>
{{chatbi_models}}
</cubes>
Note: show_indicators
is not supported for Feishu.
welcomeโ
When no specific query is provided, suggests questions for users based on available models.
Set as a terminal tool; no further response needed after execution.
Publishing to Feishu Botโ
Publish ChatBI toolkit as a Feishu bot app via one-click publishing. Displays results as interactive card messages.
See ChatBI Feishu Bot for details.
Version Control & Changelogโ
- v3.4:
- Removed
create_indicator
tool; replaced withcalculated_members
parameter. - Added
parameters
andcalculated_members
toanswer_question
tool.
- Removed