About EasyMorph Tutorials & Examples Web-help

Informations about EasyMorph


Good morning,
I'm trying easymorph free version with the target to buy the professional version.
After finished my first project, I have many questions about use and the futures of the software.

1 - Sandbox
How can I do the data sandbox refresh automatically?
I have a table with a filter that I use to put data to a sandbox, but when I change the filter, the refresh of data sandbox don't run.
Only with manual "Send to Sandbox" allows the data refresh.

2 - Mapping Fields
I'm trying to export data from my sandbox to an external database table.
This is the situation:

My sandbox has 10 columns (item, colour, supplier, customer, etc..)
External Tables about 40 columns.

For to export the sandbox to external tables, I had to add every columns of destination tables with
the transformation "Calculate new columns", because the transformation "Export to database" allows only table select
and the mapping columns is not expected.

There is a better way to do it?
There is, for example, a personalized object that allows the choice of the table columns where to put the data to export?

3 - Mail
Is possible to send email for detection the procedure fault?

4 - Main procedure/Sub procedure
Is possible to create a main procedure that calls two or more sub procedures?
I would like that every sub procedures start up only if the result of previous sub procedure be successful.

Thank you for any replies


Hi @claudio.sofonio,

Sandboxes are meant to be static -- this is by design. If you need data to refresh automatically use derived tables (see Tutorial: Derived tables).

You can export only 10 columns into a database table even if it has 40 columns -- no need to create 30 more columns with empty values. Mapping is not needed too -- just rename columns so that column names in EasyMorph match the column names in the database table.

There is no a built-in feature for this. There is a workaround but it's a bit complicated and requires running EM projects from the command line, checking STDERR response and using a 3rd party emailing utility. Let me know if you need more information on it.

Sub-procedures are called using the Call or Iterate transformations. Typically, you can simply place one Call right after another to call two different subroutines. In this case if the 1st subroutine fails all the consequent calls are not executed.

If, for some reason, subroutines are called from different (and possibly independent branches) then the calls can be put in order using Synchronize transformation. Read more about the transformation here: Blog: Using Synchronize transformation.


Thank you Dmitry for your informations.
Is all clear!



Hi Dmitry,
Recently, my company bought easy morph professional and Now I’m using it for a complex process.
I contact you, because I have not clear when it’s better to use a sandboxes instead derived tables.

I ask you some informations about this question, because I usually work with merge table transformation and i need that the data are updated.

I read your post about this argument, and you wrote that the sandboxes used for design, but the derived table can be used for it, too… And furthermore it has the feature that the embedded data are updated.

Thank you


Hi Claudio,

Sandboxes are typically used for disconnected one-off calculations with a transformation result, typically for data profiling or ad hoc data analysis. Imagine the following scenario:

At some point of your transformation project you obtained a list of customers. You are curious if there are customers mentioned two or more times in the list. You don’t need to find such customers on every transformation run, it’s just a one time data quality check. Therefore, you press Ctrl+B to create a temporary sandbox with the list, and then add the “Keep duplicates” transformation to the sandbox. The result is empty, no rows. Thus you understand that the list has no duplicates, as expected. You remove the sandbox and continue designing the project.

Think of a sandbox as of a “cutting board” that you can use to examine a dataset – e.g. does it have duplicates? If there are values of a wrong type? What is the total sum/count? Once you have your questions answered you remove the sandbox.

Sandboxes can also be used for one-time data exports. Again, you take a transformation result from the middle of a transformation chain, send it to a sandbox, then add, for instance, the “Export to Excel” transformation. After exporting is complete you remove the sandbox.

Sandboxes are disconnected, and therefore allow doing one-time operations with data without changing the main transformation chain.

All data in sandboxes is temporary. Once you close a project, all its sandboxes become empty. Data is not saved in sandboxes.

Derived tables
Derived tables are for a different purpose. They are used to arrange a permanent (i.e. not one-time) non-linear calculation logic, where a dataset should be used for two or more different kinds of calculations. Our tutorial article about derived tables mentioned above have a few examples.

Recently, derived tables got another use. Now they can be used to arrange a conditional calculation. See this blog article for more details: Blog: Conditional workflows in EasyMorph..

While sandboxes and derived tables might appear similar they have very different use cases. Typically, you would use derived tables for arranging a permanent, non-linear calculation logic, while occasionally sending data to temporary sandboxes for data quality checks or examining datasets.


Thank you dmitry, for your availability and your knowledge.

Now, I have clear the differences.
Thank you for all.


You’re welcome!