Nodes
A node is a CML file that maps to one database table and defines attributes, metrics, and joins.
File naming convention: {name}.node.celiq
Minimal example
node: payment
table: public.payment
label: Payments
description: One row per payment transaction.
Top-level fields
| Field | Type | Required | Description |
|---|---|---|---|
node | string | ✓ | Internal identifier — matches the filename |
table | string | ✓ | Fully qualified table name (schema.table) |
label | string | Human-readable display name | |
description | string | Description shown in Browse mode | |
connection | string | Override the project connection for this node |
Attributes
attributes:
- name: payment_id
type: integer
role: primary_key
label: Payment ID
description: Unique payment identifier
- name: payment_date
type: date
is_date: true
label: Payment date
- name: customer_country
type: string
geo_type: country_name
label: Customer country
Attribute fields
| Field | Type | Description |
|---|---|---|
name | string | Column name in the database |
type | string | Data type: string, integer, float, date, datetime, boolean |
role | string | primary_key, foreign_key, attribute, dimension |
label | string | Display name |
description | string | Description |
is_date | boolean | Mark as a date field for grain selection |
is_hidden | boolean | Hide from Discover field picker |
geo_type | string | Geographic type — see Geo types → |
Metrics
metrics:
- name: total_revenue
label: Total payment revenue
sql: SUM(amount)
type: currency
description: Sum of all payment amounts
- name: avg_payment
label: Average payment amount
sql: AVG(amount)
type: float
- name: payment_count
label: Number of payments
sql: COUNT(*)
type: integer
Metric fields
| Field | Type | Description |
|---|---|---|
name | string | Internal identifier |
sql | string | Aggregation SQL expression |
type | string | integer, float, currency, percentage |
label | string | Display name |
description | string | Description |
Joins
joins:
- node: customer
type: left
on: payment.customer_id = customer.customer_id
Join fields
| Field | Values | Description |
|---|---|---|
node | string | Target node name |
type | left, inner, right, full | Join type (default: left) |
on | string | SQL join condition |
Related
- Domains → — group nodes into a business context
- Geo types → — geographic field annotations
- CML → Attributes → — full attribute reference