Live Sheets
A full-featured spreadsheet embedded inside a workbook โ formulas, semantic functions, query-backed data, platform integrations, and Orion AI, all in one tab.
When to use it โ Any time you need flexible calculation, tabular layout, or "what-if" analysis side-by-side with charts and dashboards in the same workbook.
Where to find it โ Open any workbook, click + Add page โ Live Sheet. Or use โ Open in Live Sheet from Discover, Forge, or Mosaics to send data directly to a new or existing Live Sheet. URL:
/workbooks/:id.Who can use it โ Lens and Tracer can view published sheets. Weaver and Luminary can edit, import, connect query sources, and use AI.
Live Sheets bring spreadsheet power directly into your Workbooks. Every Live Sheet tab is a real spreadsheet โ with column headers, row numbers, a formula bar, and multi-tab support โ but it sits alongside your charts and KPIs in the same workbook page, and it can pull live data from your semantic layer through connected query sources and semantic functions.
Creating a Live Sheet
- Open a workbook (or create one at Workbooks โ New workbook).
- In the workbook tab bar, click + and choose Live Sheet.
- A new sheet tab appears with a blank spreadsheet.
You can add multiple Live Sheet tabs to the same workbook.
The spreadsheet editor
The editor has four main areas:
| Area | What it is |
|---|---|
| Toolbar | Export, Import, AI, History, Connect Query, and the selected-cell comment button |
| Formatting toolbar | Bold, italic, underline, alignment, text/background color, number format |
| Formula bar | Shows the active cell reference and its formula or value; type here to edit |
| Grid | The spreadsheet cells โ click to select, type to enter a value, = to start a formula |
| Tab strip | One tab per sheet; click to switch, double-click to rename, drag to reorder |
| Status bar | Shows cell reference, range end, and aggregate stats (Sum/Avg/Count) for selected cells |
Keyboard shortcuts
| Key | Action |
|---|---|
Enter | Commit edit and move down |
Tab | Commit edit and move right (Shift+Tab moves left) |
Escape | Cancel edit |
Delete / Backspace | Clear selected cell |
| Arrow keys | Move selection |
Shift+Arrow | Extend selection (multi-cell range) |
F2 | Enter edit mode for selected cell |
Ctrl+Z / โ+Z | Undo |
Ctrl+Y / โ+Y | Redo |
Ctrl+C / โ+C | Copy selection |
Ctrl+X / โ+X | Cut selection |
Ctrl+V / โ+V | Paste |
Ctrl+F / โ+F | Open Find & Replace |
Multi-cell selection
- Click and drag to select a rectangular range.
- Shift+click to extend the selection to another cell.
- Shift+Arrow to grow or shrink the selection one cell at a time.
- The status bar shows Sum, Avg, and Count for all numeric cells in the range.
Fill handle
Select a cell and drag the small square in its bottom-right corner downward to copy the cell's value (or formula) into the cells below.
Column and row resize
Drag the right border of any column header to resize that column. The new width is saved automatically.
Formatting
The formatting toolbar below the main toolbar provides:
| Control | Purpose |
|---|---|
| B | Bold |
| I | Italic |
| U | Underline |
| โกL / โกC / โกR | Align left / center / right |
| A (color swatch) | Text color (color picker) |
| BG (color swatch) | Background color |
| Number format | General, Number, Currency ($), Percent (%), Date, Text |
| โ | Clear all formatting from the selected cell(s) |
Formatting is applied to the selected cell or the entire selected range. It is stored with the cell and persists across sessions.
Find & Replace
Press Ctrl+F (โ+F on Mac) to open the Find & Replace panel below the formula bar.
- Type in the Find field to highlight all matching cells. Use โฒ โผ to navigate between matches.
- Expand to Replace mode to substitute a value in one match at a time (Replace) or all at once (Replace All).
Formulas
All formulas start with =. The formula engine uses a recursive-descent parser โ no eval() is used, so formulas are safe to use with untrusted input.
Supported functions
Logic| Function | Description |
|---|---|
IF(condition, true_val, false_val) | Conditional expression |
AND(a, b, โฆ) | True if all arguments are truthy |
OR(a, b, โฆ) | True if any argument is truthy |
NOT(a) | Boolean negation |
IFERROR(expr, fallback) | Returns fallback if expr errors |
| Function | Description |
|---|---|
SUM(range) | Sum of a range |
AVERAGE(range) | Mean of a range |
MIN(range) / MAX(range) | Minimum / maximum |
ROUND(n, decimals) | Round to n decimal places |
ABS(n) | Absolute value |
SQRT(n) | Square root |
POWER(base, exp) | Exponentiation |
MOD(n, divisor) | Remainder |
INT(n) | Truncate to integer |
CEILING(n) / FLOOR(n) | Round up / down |
LOG(n, base?) | Logarithm (base 10 by default) |
PI() | ฯ โ 3.14159 |
| Function | Description |
|---|---|
SUMIF(range, criteria, sum_range?) | Sum where criteria matches |
COUNTIF(range, criteria) | Count where criteria matches |
AVERAGEIF(range, criteria, avg_range?) | Average where criteria matches |
SUMIFS(sum_range, criteria_range1, criteria1, โฆ) | Sum with multiple criteria |
| Function | Description |
|---|---|
CONCAT(a, b, โฆ) | Join strings |
LEN(text) | String length |
UPPER(text) / LOWER(text) | Change case |
TRIM(text) | Strip leading/trailing spaces |
LEFT(text, n) / RIGHT(text, n) / MID(text, start, n) | Substrings |
FIND(needle, haystack, start?) | Position of substring |
SUBSTITUTE(text, old, new, nth?) | Replace substring |
TEXT(value, format) | Format a number as text |
| Function | Description |
|---|---|
VLOOKUP(key, range, col, exact?) | Vertical lookup |
INDEX(range, row, col?) | Return value at position |
MATCH(key, range, type?) | Find position of key in range |
| Function | Description |
|---|---|
TODAY() | Today's date as a serial number |
NOW() | Current date-time |
DATE(year, month, day) | Construct a date |
YEAR(date) / MONTH(date) / DAY(date) | Extract date parts |
DATEADD(date, n, unit) | Add n days/months/years |
DATEDIFF(start, end, unit) | Difference between dates |
WEEKDAY(date) | Day of week (1 = Sunday) |
| Function | Description |
|---|---|
COUNT(range) | Count of numeric cells |
COUNTA(range) | Count of non-empty cells |
COUNTBLANK(range) | Count of blank cells |
MEDIAN(range) | Median value |
STDEV(range) | Standard deviation |
VAR(range) | Variance |
LARGE(range, k) / SMALL(range, k) | k-th largest/smallest |
RANK(value, range, order?) | Rank of a value |
Cell references
- Single cell:
A1,B23,Z100 - Range:
A1:C10(rectangular block) - Cross-sheet reference:
Sheet2!A1,'My Data'!B2:D5
Criteria syntax (for SUMIF, COUNTIF, etc.)
| Criteria | Meaning |
|---|---|
">100" | Greater than 100 |
"<>" | Not blank |
"US*" | Starts with "US" (wildcard * = any sequence, ? = any char) |
"=Active" | Equals "Active" |
| A cell reference | Exact match against that cell's value |
Semantic functions
Semantic functions bridge the spreadsheet and your semantic layer. They resolve through Orion and return live metric or dimension values.
Semantic functions require a workspace with a configured warehouse connection and at least one domain. The formula engine calls your warehouse, so results may take a moment on first load.
=METRIC(metric_name, domain?, filters?)
Returns the aggregate value of a metric from your semantic layer.
=METRIC("total_revenue")
=METRIC("orders_count", "ecommerce")
=METRIC("customer_count", "customers", "country=US")=DIMENSION(field, domain?, filters?)
Returns the distinct values of a dimension attribute as a vertical list, suitable for building lookup tables.
=DIMENSION("country", "customers")=TIME_COMPARE(metric, period_a, period_b, domain?)
Returns a two-column comparison of a metric across two time periods.
=TIME_COMPARE("revenue", "this_month", "last_month", "ecommerce")=FORECAST(metric, periods, domain?)
Returns a forecast of a metric for the next N periods, using the historical trend in your data.
=FORECAST("revenue", 3, "ecommerce")=REVEAL(reveal_name, filter?)
Runs a saved Reveal and returns its first-row result. Useful for pulling pre-defined queries into a spreadsheet cell without writing SQL.
=REVEAL("daily_revenue")
=REVEAL("top_customers", "country=US")=NODE(node_name)
Returns a one-line summary of a Forge semantic node โ its domain, metric count, and attribute count. Useful for documenting the data model inside a sheet.
=NODE("orders")=DOMAIN(domain_name)
Returns a one-line summary of a Forge semantic domain, including its main entities and metrics.
=DOMAIN("ecommerce")Formula Function Browser
Click the ฦ button in the formula bar to open the Function Browser. It has two top-level tabs:
- Excel โ all standard spreadsheet functions, organized by category (Math, Logic, Conditional, Lookup, Text, Date)
- Semantic โ Celiq-native semantic functions (AI, Reveals, Nodes, Domains), including workspace-specific reveals, nodes, and domains as ready-to-insert formulas
Click any row to insert its formula at the cursor position.
Opening data in Live Sheets from other tools
You can send data from Discover, Forge, or Mosaics directly into a Live Sheet without creating an intermediate query source manually.
From Discover
On any Discover result, open the โฎ More menu and choose โ Open in Live Sheet. A picker appears: choose an existing workbook tab or create a new one. The query result is written into a protected tab and the workbook opens.
From Forge
In Forge Browse mode, when a field or node is selected in the detail panel, click โ Open in Live Sheet. The node's metrics and attributes are written as a structured table into a protected tab.
From Mosaics
On any Mosaic tile's โฎ menu, choose โ Open in Live Sheet. The tile's data is sent to a Live Sheet in the workbook of your choice.
Query sources
A query source connects a workbook element (a table or chart from another tab in the same workbook) to a protected sheet tab. When you refresh the source, the query reruns and writes its result rows into the protected tab as read-only cells.
Connecting a query source
- In the Live Sheet editor, click โณ Connect Query in the toolbar.
- The Query source drawer slides in from the right.
- Under Available elements, find the workbook element you want to connect.
- Click Connect. A new protected tab is created and populated with the element's current result.
Refreshing a source
Click โณ next to a connected source in the drawer to re-run the underlying query and update the cells.
Protected tabs
A protected tab is marked with a ๐ icon. You cannot edit its cells directly โ they are always overwritten by the next refresh. To perform calculations on the data, reference the cells from a separate, editable tab using cross-sheet formulas (Sheet2!A1).
Disconnecting a source
Click the ร next to a source in the drawer to disconnect it. The tab becomes editable again (it is not deleted).
Import and export
Importing CSV
- Click โ Import in the toolbar.
- Drag a
.csvfile onto the modal or click to browse. - A preview of the first 5 rows is shown.
- Click Import. A new tab is created containing the data.
Limits: 10 MB maximum file size.
Importing XLSX / Excel
- Click โ Import and drop an
.xlsxor.xlsfile. - Each sheet in the workbook becomes a separate Live Sheet tab.
- Pivot tables and charts embedded in the Excel file are skipped with a warning.
Exporting
- โ XLSX โ exports all tabs as an Excel workbook
- โ CSV โ exports the active tab as a CSV file
Orion AI assistant
Click โจ AI to open the Orion AI panel. Three modes are available:
| Mode | What to do |
|---|---|
| Generate | Describe what you want in a cell (e.g. "sum of B column if C says 'US'") and Orion writes a formula |
| Explain | Select a cell with a formula and Orion explains it in plain English |
| Fix | Select a cell showing a #ERROR and Orion diagnoses the problem and proposes a fix |
Orion's formula suggestions are shown as a proposal โ you review them and click Apply to write the formula, or Dismiss to discard.
Version history
Click โฑ History to open the version history panel. Every time you publish the sheet (via the workbook's Publish flow), a snapshot is saved. The history panel lists all saved versions with timestamps; click Restore on any version to roll back all tabs to that state.
Restoring a version overwrites the current cell contents in all tabs. This cannot be undone except by restoring a newer version.
Cell comments
Select any cell and click ๐ฌ A1 in the toolbar (where A1 is the selected cell reference) to open a comment thread for that cell. You can:
- Add a comment โ type in the text box and press Ctrl+Enter (or โ+Enter on Mac) to send.
- Resolve a comment โ click Resolve to mark it as resolved (greyed out). Click Reopen to un-resolve.
- Delete a comment โ click Delete to remove it permanently.
Comments are stored per-cell, per-tab. They persist across edits and are visible to all workspace members who can view the sheet.
Embedding in dashboards
A Live Sheet can be added to a Mosaic dashboard as a read-only tile:
- In Edit mode on a Mosaic, click + live sheet in the element toolbar.
- A tile appears with a text input. Paste the Live Sheet ID (available from the workbook URL) and click Connect.
- The tile shows a read-only preview of the first tab (capped at 15 rows ร 10 columns for performance).
- An overflow indicator tells you if the full sheet is larger than the preview.
The tile fetches cells on load. It does not auto-refresh; users who need fresh data should open the workbook directly.
Permissions
Live Sheets follow workbook-level permissions:
| Role | View published | View draft | Edit | Import | AI | Manage sources |
|---|---|---|---|---|---|---|
| Lens | โ | โ | โ | โ | โ | โ |
| Tracer | โ | โ | โ | โ | โ | โ |
| Weaver | โ | โ | โ | โ | โ | โ |
| Luminary | โ | โ | โ | โ | โ | โ |
All sheet data is scoped to your workspace โ users cannot access sheets from other workspaces.
Limitations
- 100,000 cell limit per tab (enforced server-side). Large imports are truncated.
- XLSX pivot tables and charts embedded in Excel files are skipped on import.
- Semantic functions require a warehouse connection; they return
#N/Aif the domain is not found. - Real-time collaboration (simultaneous multi-user editing) is not yet supported. The last writer wins on cell saves.
- Mosaic tile shows at most 15 rows ร 10 columns; open the workbook to see the full sheet.