Overview
The Data Scripting Language (DSL) provides a structured, high-level interface for defining, transforming, and analyzing datasets across multiple domains. It represents data declaratively and multidimensionally, allowing users to express analytical logic, modeling structures, and query workflows in a unified and reusable format.
DSL definitions are compiled into DQL, the concrete query language that powers the execution layer. DQL translates validated DSL logic into executable plans, handling expression evaluation, filtering, joins, and backend-specific syntax. DQL expressions follow SQL semantics, particularly from PostgreSQL and DuckDB, enabling expressive and familiar constructs for filtering, aggregation, and advanced computations.
Usage
DSL provides a structured way to define how data is shaped, accessed, and reused across tools. It supports a wide range of use cases:
• Describes the structure of datasets, including their fields and associated data types.
• Defines shared logic for calculations, aggregations, and derived values.
• Connects abstract query definitions to the appropriate data sources.
• Enables row-level access control by specifying visibility rules.
• Ensures consistent logic reuse across dashboards, exports, and other applications.