Columnal is a spreadsheet-like program for processing tables of data. Rather than copying formulas around in individual cells, you apply transformations on whole tables, for example forming an average or sorting by a particular column. This brings several advantages over spreadsheets:
Columnal is designed to make it easy to interoperate with other tools, and to help prevent you making mistakes while dealing with data, especially through using types to constrain data values.
Further features include:
You can read more in this design blog post.
Columnal is centred around applying transformations to data tables. Below are some animated examples of applying different transformations to data tables.
The filter transformation creates a new table containing only those rows which match a given expression.
Unlike a lot of other software you can make multiple filters from a source table and then make calculations only on the resulting rows.
The aggregate transformation allows grouping by a specified column then calculating.
It can be used for operations like frequency tables or calculating averages per value of a specific column.
The sort transformation creates a new table with the rows sorted by the specified columns.
The sort order can be changed later, and -- as with all transformations -- the source table is not altered.
The join transformation joins two tables together by matching values in the specified columns.
This can be used for looking up data in one table from another, like lookup functions in a spreadsheet.
The calculate transformation is like a repeated spreadsheet formula, which calculates a value for each row.
There is a variety of possible functions that can be used to write the transformation.
Columnal is currently in early access. The core functionality of the software is complete but we are still tweaking the design and polishing the interface. We are eager to get user feedback to guide the design and iron out the kinks. If you have feedback, questions or bug reports, please send it to firstname.lastname@example.org and we will send our thanks.
The intended roadmap for Columnal is that all the features currently present will be finalised into a Columnal Free edition, with extra features currently under development (such as graphing) made available as part of a paid-for edition.
We have a set of guiding principles for our design, community and data:
A note on prounciation: there is no single right way to pronounce Columnal. The main thing is that the N is pronounced, not silent (like it is in "column"). We suggest: "co" as in cot, "lum" as in lump, "nal" as in "final", making coh-LUM-nul, with the stress on the middle syllable.