21 July 2017

Alteryx Designer Tools and Apps

Alteryx Designer is a program that allows you to build a workflow in a simple way, using and configuring a wide range of drag-and-drop tools. It is helpful to perform self-service data analytics – by preparing, blending and analysing different data sources – and easily share the results obtained.

Below we are going to describe the most used tools in Alteryx Designer and tool categories in general. In addition, we go further through the development of an Alteryx Analytic App and how to run a workflow through command line and even using parameters.

Quick description of most used tools in Alteryx

Our purpose is to give a sample overview of the most used tools in Alteryx. The set of tools presented are the basic ones from where you can start designing your workflow. In the below table you can find a description of each tool in each set.

Remember that if you click on a tool symbol in Alteryx Designer you will get an explanation and sometimes an example of the purpose.

The other set of tools are more specific so we will give a brief explanation of each set:

> In-Database - category tools allow blending and analysis against large sets of data without moving the data out of a database and can provide significant performance improvements over the similar Alteryx not In-database tools (that require data to be moved out of the database for processing).

> Reporting - category includes tools that aid in data presentation and organization.

> Spatial - category offers a large array of spatial data manipulation, processing, and object editing tools.

> Interface - category includes tools that are used to run apps and macros (further we have a detailed example)

> Data Investigation - category contains tools for both better understanding the data to be used in a predictive analytics project, and tools for doing specialized data sampling tasks for predictive analytics.

> Predictive - category includes tools for general predictive modelling for both classification and regression models, as well as tools for model comparison and for hypothesis testing relevant for predictive modelling.

> Predictive Grouping - category contains tools to group either records or fields into a smaller number of groups.

> AB Testing - tools assist in carrying out A/B testing (also known as test and learn) experiments, such as examining the effect of a new marketing communications campaign on sales, or the effect of changing store staffing levels.

> Time Series - category contains a number of regular (in terms of the data time interval, such as monthly), univariate time series plotting, and forecasting tools.

> Prescriptive - category includes tools that can assist with determining the best course of action or outcome for a particular situation or set of scenarios. It can help augment the output of predictive models by prescribing an optimal action.

> Connectors - category tools are used to retrieve data or push data to the cloud or internet/intranet environment.

> Demographic Analysis - tools contained within the Demographic Analysis category offer the ability to extract data utilizing the Allocate Engine within Alteryx. You must have a license for an installed Allocate dataset to use these tools.

> Behaviour Analysis - tools offer the ability to extract data utilizing the Solocast Engine within Alteryx. In addition to the tools mentioned in this category, users can leverage the information generated from the Behaviour Analysis tools, using the Summarize and the Browse Data tools.

> Calgary - category is a list count data retrieval engine designed to perform analyses on large-scale databases containing millions of records.

> Developer - category includes specialized tools specific to Macro and Analytic App creation as well as running external programs.

Note: These category descriptions were adapted from here.

A simple workflow example:

Analytic Apps in Alteryx

Alteryx Designer presents a set of tools that allow the development of analytic applications (.yxwz files) that can be published in Alteryx Server and shared between the members of a company. This allows these users to run an Alteryx workflow – previously developed as analytic app – in a more dynamic way and without having to configure objects directly in Alteryx Designer.

To build an Analytic App there are used “Interface” type objects together with other objects used in a normal workflow. Interface type objects allow you to add functions such as choosing an input file or choosing a value from a set of values in a drop down list, for instance. In the image below are presented all Interface type objects.

 

An “Action” object is always added between an Interface type object and another object to which it connects because it is through “Action” that the action to be performed from an object in another is configured. We can, for instance, set as an action “Update Value” between a “Drop Down” object where a set of values is defined and a “Filter” object where we are filtering a field to a specific value. This way we can choose the value to which we are filtering the field by picking it up from the “drop down”.

The Interface Designer (menu View > Interface Designer) allows to customize and organize an analytic app, setting up the names of the fields or the order in which they appear, among other things.

 

It is possible to learn how to build an analytic app through one of the Alteryx Designer tutorials, in menu Help > Sample Workflows > Tutorials > Build an App. It is also possible to see some app examples in Help > Sample Workflows > Analytic Apps.

To run a workflow as analytic app, just click the icon “Run as Analytic App” (magic wand). By clicking the button “Run Workflow” normally, the workflow will run without considering the interface objects and actions added.

By running an analytic app, a new window opens with the options corresponding to the interface objects added and according to the customizations done through Interface Designer.

Running a workflow based on parameters through the command line (Windows)

It is possible to provide a parameter to an Alteryx workflow and run it sequentially to different parameters using a batch file. For instance, if we want to run the same workflow using different input files, it will not be necessary to run it manually changing the input file at a time.

To do that it is necessary to transform the workflow in an “Analytic App”. By dragging any object of “Interface” type, the workflow is automatically converted.

If we want to run the workflow several times to different input files, in addition to the “Input Data” object we should also place an Interface type object “File Browse”. By connecting them an “Action” object is automatically added. In the “Action” object the option “Update Value” should be chosen and then choosing as value to be updated the path to the file. Thus, we can update of the file that we are reading when we run the analytic app and choose a new file through “File Browse”. If we have more than one input file that we want to use as a parameter, the same should be done to the several “Input Data” objects.

It is also possible to rename the “File Browse” object by clicking on it and then “Annotation”. This can be helpful later when defining the files that we want to use as parameters especially if the workflow has several “File Browse”.

Next, in order to create the batch file that allows running the workflow through the command line, we need the XML code that allows that update of the file path. To do so, we need to go to Interface Designer (menu “View”, select “Interface Designer”) > Test View > View.

A new window showing the XML code will appear so it can be copied and pasted to a text editor.

In the text editor, it is possible to edit the XML code so we can include the name of the input file that we want to use. That is, where in the image above can be read we’ll now include the name of the file, as follows:

"C:\Users\apolica\Box Sync\Transf_pc_JNJ\BL alteryx bypass\SALES_sem_strive_QA_03042017.yxwzpath_do_ficheiro"

It is then possible to run this XML code through the Alteryx command line (AlteryxEngineCmd.exe) and so the workflow is executed using the input file(s) defined. If we intend to run the workflow several times with different input files, we can automate this process even more, creating a batch file that runs the XML code through the Alteryx command line as many times as we wish, with the different parameters that we want. To do so you just have to save the file in the text editor with “.bat” extension.

Example of a line of a batch file:

C:\Users\apolica\AppData\Local\Alteryx\bin\AlteryxEngineCmd.exe "C:\Users\apolica\Box Sync\Transf_pc_JNJ\BL alteryx bypass\SALES_sem_strive_QA_03042017.yxwzG2N_FILES\201601_PT_004600_SALES.txt"

To execute the batch file you just have to run it through the Windows command line and all the lines in the file are executed sequentially.

   

Adriana Policarpo

   Adriana Policarpo
 
   Adriana Policarpo
   Adriana Policarpo
         Consultant

 

  Paulo Gonçalves
       Consultant
Blog