User Tools

Site Tools


EasyMorph Overview

Data Import

In order to start transforming data in EasyMorph, all data subject to manipulations has to be imported into EasyMorph as tables. As of version 3.9.5 EasyMorph supports the following data sources:

  • Relational databases (Oracle, MS SQL Server, MySQL, PostgreSQL, SQLite)
  • ODBC data sources (Oracle, MS SQL Server, MySQL, PostgreSQL, SQLite, Amazon Redshift, Vertica, SAP HANA, Apache Hive)
  • Text files with delimiters (e.g. CSV)
  • Text files with fixed with columns
  • Excel files (.xlsx, .xlsm, .xls)
  • Google Sheets
  • SharePoint lists
  • Qlik data files (.qvd)
  • SAS files (.sas7bdat)
  • SPSS/PSPP files (.sav)
  • EasyMorph datasets (.dset)

Once tables are loaded into EasyMorph they can further be modified using transformations that are applied one after another.

Import is performed by import actions which are available in the Main menu, by pressing “Add action”.

Databases can be queries using the Query Editor.

Files can be loaded by simply dragging them into EasyMorph.


All manipulations with tables are done with the help of various actions. E.g. renaming a column is an action. Filtering, joining, aggregations – all are actions. Actions can be one of 5 types:

  • Create – actions that create or generate a table
  • Import – actions that import data into EasyMorph
  • Transform – actions that transform previously loaded data
  • Export – actions that export data into files and databases
  • Workflow – actions that help organize project workflow and perform various automation

Actions are executed consequently, step-by-step. One action is one step. Every action is applied to the result (output) of previous action. Therefore sequence of actions is important. The same actions in different order would usually produce a different result (although not always).

The final state (or result) of a table is the result of all actions of this table applied consequently, one after another.

Some actions (e.g. Append Table) require another table. These actions have two inputs – one input is the result of previous action in the same table and the other input is the final state (i.e. the result of last action) of the other table.

Here is full list of all actions.


Some actions can use expressions in order to calculate new columns or filter rows. These expressions can be composed using arithmetical operations, column names and functions. Read more about expressions.

Derived tables

Derived tables is a powerful feature that allows transforming data in a non-linear way. When one table is derived from another (source) table it replicates the final result of the latter. So if the source table changes, the derived table changes automatically. In everything else derived tables is just a regular table and can further be modified using various transformations.

Since you can derive any number of tables from a table, and then keep transforming every derived table in its own way, you can create non-linear transformation chains. For instance, you can produce two derived tables from a table, transform each of them in its own way and then append or merge them back into one table.

Circular dependencies are not allowed in EasyMorph. I.e. you can't append table A to table B if table A is derived from table B directly or indirectly.

Data Export

Exporting data is performed using export transformations. They can be inserted at any point of transformation sequence. Export transformations do not modify tables, they just export them into specified file format. Therefore output of export transformation is the same as input. I.e. it contains exactly the same number of rows and columns in exactly the same order.

Exporting data to databases is done using SQL Command transformation that instructs the target database to upload a file previously created in EasyMorph.


EasyMorph can automatically generate documentation from current transformation project. Read more about Auto-documentation.

Command-line execution

EasyMorph projects can be executed from command line thus allowing integration with third-party applications. Read more about command line parameters.

See also:

overview.txt · Last modified: 2019/09/12 09:47 by dmitry