Concepts and Terminology

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

bippLang Project Structure

Projects

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

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

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

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

Columns

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 SQL Data Types
Integer TinyInt, SmallInt, Int, Int2, Int4, Integer, BigInt,UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64
Float Decimal, Double, Float, Float32, Float64, Numeric, Real
DateTime Time, TimeStamp, Date, DateTime
Bool Bool, Boolean
String 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

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

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

Sheets

Sheets 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 sheets, including Visualization, Threads, Tags, and Scheduled Reports. Sheets can be imported and exported.

Dashboards

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

Extensions

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