Overview of Predicate Expressions
true, false, or null. Most predicates return null if any input is null, except for $distinctFrom. Predicates can be combined using logical expressions like $and, $or, and $not.website·Indexed 32 days ago
https://docs.indicate-data.ioDocumentation for Indicate, featuring the Data Query Language (DQL) and Data Scripting Language (DSL). Includes reference guides for the semantic layer, including expressions, functions (arithmetic, aggregation, numeric, text, and date/time), schema components, and data types, as well as guides for MCP server connection in VS Code.
true, false, or null. Most predicates return null if any input is null, except for $distinctFrom. Predicates can be combined using logical expressions like $and, $or, and $not.$left, $right), function operands ($operand, $operands), or containers like $list, $tuple, and $map.Text functions operate on string values and are used for combining, transforming, or evaluating textual data. They can be used in projections, filters, and computations. Key constraints include:
null, the entire result is null.In DQL, a schema defines the structure of a dataset to validate queries, enable editor autocomplete, ensure correct filters and joins, and route queries to the appropriate backend. The core components include:
Aggregation functions in the semantic layer compute summary values (totals, counts, averages) across multiple rows, either globally or per group. By default, null values are skipped. If all inputs are null, most aggregations return null, except for count, which returns 0. Arguments must be scalar-compatible (number, text, boolean), and explicit casting may be required for differing types.
Every aggregation definition consists of:
$fn: The name of the aggregation (e.g., "avg", "count", "sum").$operands: The expressions to aggregate over.Optional modifiers include:
distinct: Excludes duplicates before aggregation.filter: Limits the input values considered.orderBy: Controls ordering for position-based aggregates like first or last.The Data Scripting Language (DSL) is a high-level, declarative interface used to define, transform, and analyze datasets. It allows developers to express analytical logic, modeling structures, and query workflows in a reusable format. DSL is used to:
$identifier), scalar values (e.g., ISO date strings), or computed expressions. If using raw strings, you may need to use $cast or $shortCast. Validation errors occur if the number of operands provided does not match the function's requirement.Before configuring the MCP server, ensure you have the following:
Install the following extensions from the VS Code Extensions view (Ctrl+Shift+X / Cmd+Shift+X):
After installation, sign in to GitHub via the Accounts icon in the bottom-left sidebar to activate Copilot.
Arithmetic expressions in the Indicate Semantic Layer are defined within an Expression object. They are used for data transformation in projections and filters. All operands must be numeric, though specific functions (modulo, bitwise operations, shifts) require integer types.
Key components of an arithmetic expression:
$fn: The name of the function (e.g., "add", "divide").$operands: A list of expressions to compute. Operands can be scalar values, column references, or nested expressions.Depending on the function, the expression may be wrapped in a $variadic object (for functions accepting multiple operands like add, least, greatest) or a $binary object (for functions requiring exactly two operands, specifying $left and $right).