About EasyMorph Tutorials & Examples Web-help

Easymorph Tabs vs. QlikView


#1

Hello, me again :slightly_smiling_face:
I hope the following request is understandable.
I’m coming from the QlikView development (as I wrote in another Request)
A great feature in QV-Scripting are the tabs (processing from left to right).

So you could structure code very well.

By creating and pushing one or more “Exit Tabs”, which contains only the command “exit script”, you could thereby test different alternatives (without having to delete already developed steps if they did not lead to the result).

Also some snippets etc. could be placed to the right of the “Exit Tab” without them being executed.

I tried to develop this in Easymorph.
An “exit project” does not seem to exist, so I used the “Halt on Condition”.
The condition is 1 = 1 (always true)

The tabs are apparently not processed in Easymorph from left to right, right?
That’s why it does not work that way, Right?
Here’s a graphic example (EM + QV) and ExitTab.morph

I hope this is understandable.

There is a chance to realize this in EM?

best regards,

Adrian
ExitTab.morph (3.1 KB)


#2

That’s a good question. Coming from a QlikView background to EasyMorph there can be certain thinking inertia, but that’s understandable.

QlikView way
Here is what you can do in a “QlikView” way:

For a small calculation, you can disable/enable one action or a sequence of actions (Shift+click to select multiple actions at once). That is similar to commenting out in Qlik script.

You can also disable/enable a derived table with multiple actions by switching it to conditional calculation and setting a condition that is never true (e.g. 1 = 2, or “If source table is empty”).

In version 4.0 we will be introducing modules. It will be possible to keep portions of workflows in modules and use or not use them in the main workflow. A module is similar to a subroutine in Qlik script.

To enforce linearity of execution (e.g. Start2 always after Start1), use the “Synchronize” action.

EasyMorph way
EasyMorph offers certain capabilities that are not available in Qlik script, but which can be used for the same purpose.

The idiomatic way to test a hypothesis in EasyMorph is to use Sandboxes. A sandbox is a temporary static snapshot of data that you can create at any point. Actions in a sandbox only executed when the sandbox is not empty (i.e. it has some data). Therefore you can keep multiple sandboxes with temporary actions to test various hypothesis. You can re-populate sandboxes with the result of any action just in 1 click.

Hint: to use derived tables with sandboxes, switch the derived tables into condition derivation with condition “When source table is not empty”. In this case the derived tables will only be calculated when the sandbox is not empty.

Also, you don’t have to always calculate a workflow entirely. There are various project execution modes. For instance you can execute a workflow only up to a particular action by Ctrl+click’ing the action. No need to insert “Exit script”! Just Ctrl-click to stop at any action you want.

Also, keep in mind that EasyMorph tries to parallelize workflow execution when possible. A Qlik script is always executed linearly. If it needs to read data from a database and a file in one workflow – this will be done sequentially, even if these operations are actually independent from each other.

EasyMorph analyzes dependencies. If it needs to read data from a database and a file – this will be done concurrently at the same time, thus reducing total execution time. That’s why in your example Start1 and Start2 begin simultaneously - these start points are independent from each other.

****moved to #uncategorized


#3

Hi,
Thanks for the quick and detailed answer.
hats off and best regards
Adrian
HatsOfEmoj


#4

You’re welcome!