Concepts and Terminology



Before you dive into bippLang, let’s review the basic bipp structure and concepts:

bippLang Project Structure


Projects structures your data resources and business information enabling you to build models and visualize your data. A project may consist of several files and artifacts compiled to create a data model with datasets. The project serves as a unit for source control.


Datasources are essentially the connected databases where the model gets the data. Projects and models can connect to multiple data sources. The model defines the table views in the data sources using joins and SQL operations.


Tables contain the data in a database.

Derived Tables

Derived Tables are created with custom SQL to fetch the data to populate a new table, like a non-materialized view.


Joins are the defined relationship between two or more tables in the data model. Joins are used when fetching the data.


Columns are the fields in a table. Each column’s data values are of the same type. One value for each row in the database.

Column Types

Column Types are the data types of the columns in the Datasource. The various SQL data types are mapped to standard bippLang types:

bippLang Data Type Integer
SQL Data Types TinyInt, SmallInt, Int, Int2, Int4, Integer, BigInt,UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64
bippLang Data Type Float
SQL Data Types Decimal, Double, Float, Float32, Float64, Numeric, Real
bippLang Data Type DateTime
SQL Data Types Time, TimeStamp, Date, DateTime
bippLang Data Type Bool
SQL Data Types Bool, Boolean
bippLang Data Type String
SQL Data Types Char, Varchar, Character, String, Text, FixedString, Any other data type not already defined

Derived columns

Derived columns are created from operations on existing columns. Operations are defined using columns constants and any supported SQL operation.

Parameter Based Columns

Parameter Based Columns are created based on the selected value for a defined parameter.


Datasets are logical groups of tables, columns, relationships and operations that are likely to be accessed or reused in the future.

Data Models

Data Models are organized as bippLang projects accessible through the user interface. Models can have multiple dataset definitions.


Parameters are defined within a dataset to accept user input to determine the output.


Reports enable you to view and Visualize data corresponding to a data model created with bippLang. There are functions available to help you create and manage your reports, including Visualization, Threads, Tags, and Schedules. Reports can be imported and exported.


Dashboards group and present bipp reports. You can create and manage multiple dashboards or insight boards. Data can be filtered across multiple reports and embedded dashboards and drilldown of specific data points to view details.


Extensions are custom visualizations for your data you upload to bipp for use when creating reports. Extensions are created as plug-in JavaScript files using the bipp Extensions API.