-
Notifications
You must be signed in to change notification settings - Fork 2.1k
docs: fill in several undocumented Cube Cloud features #11552
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -17,6 +17,12 @@ Pick a dimension in **Split by** and the chart is replaced by one panel per valu | |||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| Only dimensions are offered. Splitting by a measure is not supported — a measure has no discrete values to make panels from. | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| ### Splitting by a second dimension | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| Once **Split by** is set, a **Second dimension** picker appears. Pick a dimension there to | ||||||||||||||||||||||||
| lay panels out on a 2-D grid — the first dimension's values run down the rows and the | ||||||||||||||||||||||||
| second dimension's values run across the columns, instead of a single row of panels. | ||||||||||||||||||||||||
|
Comment on lines
+20
to
+24
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "instead of a single row of panels" contradicts the rest of the page. Single-dimension splits are already laid out as a grid — line 32 says the Grid option is "Columns × rows, up to 5 × 5. Both are preselected from the number of distinct values in the split dimension, so a four-value dimension opens as a 2 × 2 grid." A reader who just read that will hit this sentence and conclude one of the two is wrong. Dropping the trailing clause fixes it; the "rows = first dimension, columns = second" sentence carries the meaning on its own.
Suggested change
Two follow-on sections are still written as if only one split dimension exists, and are worth a sentence each now that the limitation bullet is gone:
|
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| ## Options | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| These options appear once a **Split by** dimension is chosen. | ||||||||||||||||||||||||
|
|
@@ -54,7 +60,6 @@ A legend is shared across the grid rather than repeated per panel. Clicking a le | |||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| ## Limitations | ||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
| - **One split dimension.** One dimension fills the grid, panel by panel. Splitting by two dimensions at once — one down the rows and another across the columns — is not supported. | ||||||||||||||||||||||||
| - **Cartesian charts only.** Bar, line, area, and scatter. Pie, table, KPI, heatmap, boxplot, map, and HTML charts cannot be split. | ||||||||||||||||||||||||
| - **Panel labels are not configurable.** Each panel is labeled with its dimension value; the font, size, and color are fixed. | ||||||||||||||||||||||||
| - **The split is enabled on a single-view chart.** A chart that already carries data labels, a reference line, or a second Y axis series cannot be split — turn the split on first. The order is the only constraint: once a chart is split, data labels and reference lines can be added freely and are drawn in every panel. | ||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -27,7 +27,15 @@ Each chart shows the name of the underlying workbook tab as its title. To rename | |||||||||||
|
|
||||||||||||
| Use **Hide Title** in the widget's settings menu to suppress the title on the dashboard — useful when the chart's content already makes the subject obvious, or when an adjacent [text widget][ref-text] provides its own heading. Choose **Show Title** in the same menu to bring it back. | ||||||||||||
|
|
||||||||||||
| ## Downloading a chart | ||||||||||||
|
|
||||||||||||
| Open a chart widget's `⋮` menu on a published dashboard and choose **Download as CSV**, | ||||||||||||
| **Download as PNG**, or **Download as PDF** to export just that chart, without downloading | ||||||||||||
| the whole dashboard. Requires the **Download data** permission. See [Download as PNG or | ||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The permission claim conflicts with the whole-dashboard section it links to.
And Download data is described in
So one blanket "Requires the Download data permission" across all three formats is very likely wrong for at least PNG/PDF — either they follow the dashboard rule (Manage on the owning workbook), or per-widget image export deliberately diverges from whole-dashboard export, which is surprising enough to state explicitly. A reader with Download data but not Manage can't tell from this page which of the three menu items they'll actually see. Please confirm against the implementation and split if the gates differ, e.g.:
Suggested change
Minor, same paragraph: the dashboard page spells this affordance More actions ( |
||||||||||||
| PDF][ref-dashboard-download] for the whole-dashboard equivalent. | ||||||||||||
|
|
||||||||||||
| [ref-workbooks]: /docs/explore-analyze/workbooks | ||||||||||||
| [ref-dashboard-download]: /docs/explore-analyze/dashboards#download-as-png-or-pdf | ||||||||||||
| [ref-controls]: /docs/explore-analyze/dashboards/widgets/controls | ||||||||||||
| [ref-incompatible-controls]: /docs/explore-analyze/dashboards/widgets/controls#incompatible-controls | ||||||||||||
| [ref-text]: /docs/explore-analyze/dashboards/widgets/text | ||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -187,7 +187,8 @@ For any MCP-compatible client: | |||||||||||||
|
|
||||||||||||||
| An MCP client is not locked to a single deployment for the whole session. After | ||||||||||||||
| connecting, it can discover the deployments and agents you can access and target a | ||||||||||||||
| specific one on each request. | ||||||||||||||
| specific one on each request — every tool accepts an optional `deploymentId`, validated | ||||||||||||||
| on each call against the deployments you can actually access. | ||||||||||||||
|
|
||||||||||||||
| Three tools work together: | ||||||||||||||
|
|
||||||||||||||
|
|
@@ -205,6 +206,10 @@ Three tools work together: | |||||||||||||
| - **`loadQueryResults`** — paginates through the results of a previous query on the same | ||||||||||||||
| deployment context. | ||||||||||||||
|
|
||||||||||||||
| Every other tool below — query, discovery, dashboard authoring, data model editing, and | ||||||||||||||
| pre-aggregations — also accepts an optional `deploymentId` to target a deployment other | ||||||||||||||
| than the session default. | ||||||||||||||
|
Comment on lines
+209
to
+211
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This paragraph restates what line 190 (also added in this commit) already says — "every tool accepts an optional The listing of tool groups here is the part that's actually new information, so I'd keep this paragraph and trim the additions to line 190 back to the original sentence:
Suggested change
(and revert lines 189–191 to One accuracy check while you're here: "every tool accepts an optional |
||||||||||||||
|
|
||||||||||||||
| A typical client workflow: | ||||||||||||||
|
|
||||||||||||||
| <Steps> | ||||||||||||||
|
|
||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
@@ -360,6 +360,20 @@ of the PostgreSQL documentation. | |||||||
| | --- | --- | --- | --- | | ||||||||
| | `TO_CHAR` | Converts a timestamp to string according to the given format | ✅ Yes | <nobr>✅ Outer</nobr><br/><nobr>❌ Inner (selections)</nobr><br/><nobr>✅ Inner (projections)</nobr> | | ||||||||
|
|
||||||||
| ### Type casts | ||||||||
|
|
||||||||
| <Info> | ||||||||
|
|
||||||||
| Learn more in the | ||||||||
| [relevant section](https://www.postgresql.org/docs/current/sql-expressions.html#SQL-SYNTAX-TYPE-CASTS) | ||||||||
| of the PostgreSQL documentation. | ||||||||
|
|
||||||||
| </Info> | ||||||||
|
|
||||||||
| | Cast | Description | | ||||||||
| | --- | --- | | ||||||||
|
Comment on lines
+363
to
+374
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Two structural notes on the new section: 1. The table drops the 2. Placement. Sections 195–361 all mirror the Postgres functions docs and are roughly in that doc's order; this one links to |
||||||||
| | `::regtype`, `::regtype[]` | Resolves an OID column (e.g., `pg_attribute.atttypid`) to a Postgres type name. Used by BI tools that inspect table columns over the Postgres wire protocol. | | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The description is accurate for
A reader following this row would write
Suggested change
Worth adding a one-line example below the table, since the shape BI tools emit isn't obvious from the description alone: SELECT a.attname, format_type(a.atttypid, NULL) AS data_type
FROM pg_catalog.pg_attribute a
WHERE a.atttypid = ANY ('{int8,numeric,bool}'::regtype[]); |
||||||||
|
|
||||||||
| ### Date/time functions | ||||||||
|
|
||||||||
| <Info> | ||||||||
|
|
||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section crosses the page's own customer-type split without acknowledging it. The Overview (lines 13–19) partitions everything into on-demand customers (per-seat grants → on-demand consumption) and contract customers (pooled token packages). This paragraph applies both paths to the same embedded usage — "billed separately through token packages, then as on-demand consumption" — which is a third billing mode. That may well be correct, but as written it reads like a contradiction. Naming the order explicitly would fix it: packages are drawn down first if the account has any, and anything beyond that (or all of it, for an account with no packages) falls to on-demand.
Two smaller points in the same block:
Also,
[ref-embedding]: /embedding(line 131) is the first bare/embeddinglink in the docs — every other reference goes to a sub-path (/embedding/iframe/...).docs.json:427registers that page as"embedding/index", not as a grouproot:the waydocs/explore-analyze/dashboards/indexis (docs.json:108), so it's worth clicking through on the Mintlify preview to confirm/embeddingresolves rather than 404s.