docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md
A bigquery-analyze-contribution tool performs contribution analysis in
BigQuery by creating a temporary CONTRIBUTION_ANALYSIS model and then querying
it with ML.GET_INSIGHTS to find top contributors for a given metric.
bigquery-analyze-contribution takes the following parameters:
my-project.my_dataset.my_table) or a SQL query that returns the data.'NO_PRUNING' or 'PRUNE_REDUNDANT_INSIGHTS'. Defaults to
'PRUNE_REDUNDANT_INSIGHTS'.The behavior of this tool is influenced by the writeMode setting on its
bigquery source:
allowed (default) and blocked: These modes do not impose any special
restrictions on the bigquery-analyze-contribution tool.protected: This mode enables session-based execution. The tool will
operate within the same BigQuery session as other tools using the same source.
This allows the input_data parameter to be a query that references temporary
resources (e.g., TEMP tables) created within that session.The tool's behavior is also influenced by the allowedDatasets restriction on
the bigquery source:
allowedDatasets restriction: The tool can use any table or query
for the input_data parameter.allowedDatasets restriction: The tool verifies that the
input_data parameter only accesses tables within the allowed datasets.
input_data is a table ID, the tool checks if the table's dataset is in
the allowed list.input_data is a query, the tool performs a dry run to analyze the query
and rejects it if it accesses any table outside the allowed list.{{< compatible-sources >}}
kind: tool
name: contribution_analyzer
type: bigquery-analyze-contribution
source: my-bigquery-source
description: Use this tool to run contribution analysis on a dataset in BigQuery.
| field | type | required | description |
|---|---|---|---|
| type | string | true | Must be "bigquery-analyze-contribution". |
| source | string | true | Name of the source the tool should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |
You can prepare a sample table following https://cloud.google.com/bigquery/docs/get-contribution-analysis-insights. And use the following sample prompts to call this tool:
bqml_tutorial.iowa_liquor_sales_sum_data? Use the project id myproject.total_sales metric in the table
bqml_tutorial.iowa_liquor_sales_sum_data. The test group is identified by
the is_test column. The dimensions are store_name, city, vendor_name,
category_name and item_description.