OutputsConfig
Settings for individual outputs (tables and relations) that your model produces.
This allows you to customize how specific outputs are computed. Each
setting is a map keyed by the output’s name. Names follow Snowflake
rules: unquoted names match case-insensitively (cancel_chain
matches CANCEL_CHAIN); to match a quoted Snowflake identifier — one
with special characters or that preserves case — wrap the key in
double quotes (e.g. '"My.Table"').
Examples
Section titled “Examples”outputs: force_reasoner: recursive_closure: logic cancel_chain_root: sql materialization_default: table force_materialization: customer_summary: view big_join_result: table streaming_agg: dynamic_tableAttributes
Section titled “Attributes”.force_reasoner
Section titled “.force_reasoner”OutputsConfig.force_reasoner: (dict[str, str], optional)Pick which reasoner — "sql" or "logic" — computes specific
outputs. When two relations are mutually recursive, naming either
one moves the whole cycle.
Advanced option. Only force outputs that the target reasoner can actually compute. Incompatible forcings will surface as a runtime error at refresh time rather than at config load.
.materialization_default
Section titled “.materialization_default”OutputsConfig.materialization_default: (str, optional)Default materialization for outputs (Snowflake only) when no
per-output override is set in force_materialization. Values:
"dynamic_table" (default), "table", or "view".
.force_materialization
Section titled “.force_materialization”OutputsConfig.force_materialization: (dict[str, str], optional)Per-output materialization override (Snowflake only), keyed by the
unqualified output table name. Values: "dynamic_table", "table", or
"view". Outputs not listed use materialization_default.
Ignored on DuckDB.