May 11, 2015

Release notes for version 1.4

A new version of EasyMorph is out. See what's new in version 1.4:

Simple ODBC connector
This release introduces a frequently requested feature -- an ODBC connector. At this point it's rather basic and doesn't allow re-using connections across several projects or tables. Shareable connectors will appear in future releases.

Limited editing mode
Since its prototype EasyMorph didn't allow viewing many transformation properties if previous transformation was not calculated. This was somewhat inconvenient, but now it has been fixed. Starting from version 1.4 you can view all and edit some transformation properties, even if the project is not calculated yet.

4 new transformations
We've added three new transformations and improved an existing one:
  • Unpivot -- converts matrix table into a regular straight table. Names and values of unpivoted columns are transformed into two respective columns.
  • Fill Gaps -- fills down empty cells with nearest non-empty value in the same column.
  • Trim Table -- it's a new name of Leave Top Rows transformation which now has extended functionality. Now it can keep/remove N rows from top/bottom of the table.
  • Trim Table by Condition -- the same as Trim Table but instead of fixed number of rows it keeps/removes rows above/below first row where the condition becomes true.
These transformations together with already existing ones make EasyMorph a quite powerful tool for extracting data from Excel spreadsheets. For instance, using Trim Table by Condition you can easily remove all rows below a row with label 'TOTAL', even if this label is located in different rows from file to file -- something that would be cumbersome to do using SQL. We've added a new example that demonstrates parsing of an Excel spreadsheet with income statement of a real public company.

Two new functions
We keep adding new functions. This release includes:
  • textbetween(text, string1, string2) -- extracts part of text between two text strings. It can be used for parsing text values.
  • newline() -- a helper function that generates the new line character (a.k.a. line break). It can be used in the cases when you need to add or remove the new line characters from a text string.
New PDF tutorial: Data Morphing Basics
Data Morphing Basics explains the core concept of data transformation in EasyMorph and how it's different from traditional ETL tools. You can download the tutorial here: