Key Features
- SQL Syntax Support: Use familiar SQL-like syntax for data queries
- High-Speed Execution: Optimized in-memory query processing
- Group By Operations: Create summaries and aggregations by multiple dimensions
- Filtering: Apply WHERE clauses with complex expressions
- Sorting: ORDER BY with ascending/descending support
- Sub-Queries: Nested SELECT statements for advanced filtering
- Distinct Values: Eliminate duplicates from result sets
- Pagination: TOP and OFFSET for result set limiting
Quick Example
Core Classes
TBISQL
The main class for parsing and executing SQL queries. See BI.SQL.pas:81. Key Methods:From(AData, SQL)- Parse and execute SQL queryProviderFrom(AData, SQL)- Parse SQL and return provider
TBIQuery Component
Component-based query builder that automatically determines whether to use SELECT or GROUP BY operations. See BI.Query.pas:250. Key Properties:Dimensions- Fields to select or group byMeasures- Aggregation calculationsFilter- WHERE clause filteringSortBy- ORDER BY sorting
TSummary
Class for creating grouped aggregations (similar to SQL GROUP BY). See BI.Summary.pas:402. Key Properties:By- Group by dimensionsMeasures- Aggregate functionsFilter- Row-level filteringHaving- Post-aggregation filtering
Query Workflow
- Parse - SQL string is parsed into a provider (TDataSelect or TSummary)
- Filter - WHERE clause is evaluated for each row
- Group - Data is organized by GROUP BY dimensions
- Aggregate - Measures are calculated (SUM, AVG, COUNT, etc.)
- Sort - Results are ordered by ORDER BY clause
- Limit - TOP/OFFSET are applied to result set
Next Steps
SQL Syntax
Learn the supported SQL syntax and features
Filtering
Apply WHERE clauses and complex filters
Grouping
Create multi-dimensional summaries
Aggregations
Use SUM, COUNT, AVG, MIN, MAX functions
