Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs-mintlify/admin/ai/bring-your-own-model.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ sidebarTitle: Bring Your Own Model
description: Configure custom LLM providers for AI agents in Cube, including supported providers, setup, and billing implications.
---

<Info>

Available on the [Enterprise plan](https://cube.dev/pricing).

</Info>

Bring Your Own Model (BYOM) lets you connect your own LLM provider to power
AI agents in Cube, instead of using the built-in models. This gives you full
control over which models your agents use, where your data is processed, and
Expand Down
34 changes: 34 additions & 0 deletions docs-mintlify/docs/integrations/snowflake-semantic-views.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,40 @@ turned on in your deployment configuration and that the configured role has the
required privileges listed above. See [Snowflake data source configuration](/admin/connect-to-data/data-sources/snowflake)
for the full list of relevant environment variables.

### Limitations

Cube's data modeling layer is broader than what can be expressed natively in
Snowflake Semantic Views today, so not every Cube view can be pushed as-is. Views
that rely on the features below will continue to work in Cube, and the push
wizard will flag them during validation so you can adjust them or keep them in
Cube only.

When pushing a Cube view to Snowflake, the following are currently not supported:

- **Cubes without a `sql_table`.** Each cube referenced by the view must be
backed by a physical table. Cubes defined with an arbitrary `sql` block
(subqueries, CTEs, or other inline SQL) can't be pushed.
- **Cubes without a single-column primary key.** Every cube needs a
`primary_key` dimension that resolves to a single physical column. Composite
primary keys and primary keys defined as SQL expressions aren't supported.
- **Non-equi joins and expression-based joins.** Joins must be simple equality
joins between columns. Function calls (e.g., `LOWER({CUBE}.user_id) = {users.id}`),
inequality operators, `OR` conditions, and other expression-based join
conditions can't be translated.
- **Joins that don't reference a primary key.** The referenced side of every
join must be the primary key of the target cube. Snowflake Semantic Views
requires referenced columns to be a primary or unique key.
- **Measure types beyond the basic aggregates.** Snowflake Semantic Views
natively supports `count`, `count_distinct`, `sum`, `avg`, `min`, and `max`.
Cube measures that combine other measures, apply per-measure filters, or use
rolling windows don't have a direct equivalent and can't be pushed.
- **Advanced Cube features without a Snowflake equivalent.** Segments, access
policies, hierarchies, time-dimension granularities, view-level filters, and
pre-aggregations are skipped during the push.

We're working closely with Snowflake to expand coverage as Snowflake Semantic
Views evolves.

## Benefits

The Snowflake Semantic Views integration provides several advantages:
Expand Down
11 changes: 10 additions & 1 deletion docs/app/layout.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Layout, Navbar } from 'nextra-theme-docs'
import { Head } from 'nextra/components'
import { Banner, Head } from 'nextra/components'
import { getPageMap } from 'nextra/page-map'
import localFont from 'next/font/local'
import 'nextra-theme-docs/style.css'
Expand Down Expand Up @@ -79,6 +79,14 @@ const navbar = (

const footer = <Footer />

const banner = (
<Banner storageKey="legacy-docs-2026">
<a href="https://docs.cube.dev" target="_blank" rel="noreferrer">
You're looking at the old Cube documentation. Visit the new docs →
</a>
</Banner>
)

export default async function RootLayout({ children }) {
return (
<html
Expand Down Expand Up @@ -114,6 +122,7 @@ export default async function RootLayout({ children }) {
<PurpleBannerWrapper />
<AnalyticsProvider>
<Layout
banner={banner}
navbar={navbar}
pageMap={await getPageMap()}
docsRepositoryBase="https://github.com/cube-js/cube/tree/master/docs"
Expand Down
Loading