cancel
Showing results for 
Search instead for 
Did you mean: 

Alteryx Knowledge Base

We’ve developed this handy Getting Started Document to ensure success throughout your lifecycle with our powerful Alteryx technology. The following document outlines the stages and steps taken through the onboarding process. Topics include Onboarding Community Training Support Resources Check it out, let us know if you have any questions or comments!  
View full article
The following steps detail how to obtain a client ID, client secret, and refresh token that can be used for authentication with Google related tools.   1. Open the Google Developers' Console 2. Login with the Google account associated with the data you would like to analyze 3. Create a new project by clicking the My Project dropdown (top-left corner) and selecting Create project (top-right corner of the pop up 4. Enter a Project name of your choosing and click Create     5. If you have not already enabled the Google API you will be working with, you can do so by navigating back to the webpage we started on, the Console Dashboard, and clicking Enable API:     For Google Analytics: Other popular APIs >> Analytics API For Google Drive: G Suite APIs >> Drive API Click Enable: 6. After you've confirmed that your API is enabled you can obtain API credentials by returning to the Console and clicking on Credentials in the left-hand navigation pane next to the key icon 7. Click on the Create Credentials dropdown and select OAuth client ID:     8. Select the Web application radio button and add https://developers.google.com/oauthplayground as an Authorized redirect URI before clicking Create 9.  At this stage, a pop up should appear where you can copy and save your Client ID and Client Secret You can also find your Client ID and Client Secret by returning to the Developer's Console >> Credentials and clicking the name of the app we just created:         10. Go to https://developers.google.com/oauthplayground 11. Click on the gear icon in the top-right corner of the page and click the checkbox for Use your own OAuth credentials, enter the client ID and client secret from step 13, and click close 12. Copy/paste the respective scopes into the Input your own scopes field and click Authorize APIs For Google Analytics https://www.googleapis.com/auth/analytics.readonly For Google Sheets  https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/drive.appdata, https://www.googleapis.com/auth/drive.readonly, etc 14. Click Allow 15. Click Exchange authorization code for tokens and save the Refresh token 16. Test the authorization by sending a request for an available operation from List possible operations 17. If successful, the client ID, client secret, and refresh token that you obtained in the prior steps can now be used for authentication with the Google related tools
View full article
In a previous article we’ve shown how the list of selections in the List Box tool can be dynamically generated from: the column names from an input file the values in one of the columns of the input file the values in one of the columns of a user-selected input file (target field must be in both original and new file)   In this second article, we’ll see how to let the user select both a file and a field within this file to create the values in the List Box. The file that the user selects doesn’t need to have the same columns as the one you used when building the App.   Show the selection options from one of the columns of a user-selected input file and field   In this example we will use the techniques we’ve explained in the first article including, reading field names from input, creating value list and using chained Analytic Apps to show the second screen with the list of values for selection. Again, make sure you save these workflows as Analytical Apps.   The first workflow uses what was done in the previous article but relies on the fact that Alteryx yxwz files are XML files containing the configurations of the tools of the workflow. To load the user-selected values into the second List Box, we will manually update the XML of the second workflow to change the List Box configuration. The List Box tool, when set to Manually set values, expects a Name:Value pair and therefore we are using the Multi-Field Formula tool to create these pairs and change the field size to make sure it fits the extended text. We then use the Summarize tool to concatenate all of the separate values into a single field with new-line (\n) as separator.   Now that we have our List Box Values ready it’s time to load them into the second workflow. For this to work, we should have already built the second workflow, ProcessWorkflow.yxwz and setup the List Box tool List Values to Manually set values with the value set to _xxxx_:xxxx.     Back to our first workflow, we start by reading in the second workflow we just created. To be able to read it into Alteryx, we set the Input Data tool to read the file as CSV with \0 as the delimiter (no delimiter) and with first row contains field names.     We then use the Summarize tool to concatenate the rows into a single row and make sure you name the field (this will be the first line in our output file).       We bring in the list of values we created in the first part of the workflow and append it to this data stream using the Append Fields tool and then use the formula tool to find the _xxxx_:xxxx text and replace with the correct values. We deselect all fields except the using the Select tool and write the output to a new file ProcessWorkflow2.yxwz using csv as format and \0 as delimiter.     The last step in this workflow is to set the new workflow we just wrote-out to start when the first one finishes execution. This is done by naming the second workflow in the Interface Designer (Alt-Ctrl-d) under Properties: "On Success – Run Another Analytic App". Also the "On Success - Show Results to User" should be deselected.     You can find the workflow used in the article attached to this post. It was built in Alteryx Designer 10.6 (10.6.6.17413).   Special thanks to @Patrick_Digan for testing and suggesting improvement to the example workflow.   Happy App-Building!
View full article
Welcome to the Alteryx Licensing Series where you can learn all you need to get started with Alteryx. In the articles below you will learn how to install, manage, and handle errors with your Alteryx License. We love Alteryx and we hope you do too! Please read through the information below and subsequent instructional articles carefully.   If you learn anything from this information, keep your license key or file in a place where you can find it.    If you have not installed Alteryx or are looking to find the newest version please click on the link - http://downloads.alteryx.com/   Technical specifications along with supported Data Sources can be found here: http://www.alteryx.com/techspecs   Licensing issues or questions please email: fulfillment@alteryx.com   License agreement: See attachment   License Key Activation needs: In order to use license keys, a few system security setups will need to be available for Alteryx to talk to our licensing system. Here is a list of what you need: 1. Open Port 80 and 443 2. White List: license.alteryx.com, gallery.alteryx.com, pages.alteryx.com, marketo.net, mktoresp.com 3. The license server is "license.alteryx.com" which is an alias for gallery.alteryx.com and resolves to multiple IP addresses associated with an Elastic Load Balancer at Amazon Web Services. AWS ELBs can and will change IP addresses over time, so if you are statically whitelisting IP addresses on a firewall which otherwise denies access to tcp/80 and tcp/443, your end-users will eventually lose connectivity to our license server as your static whitelist obsolesces. The solution is to enable a process which will periodically update or re-implement your whitelist based on the results of a fresh DNS lookup of “license.alteryx.com”   4. Using a proxy server? Make sure that Alteryx has access to that server. If you are using scripts on your proxy server, you will not be able to use license keys and will have to use license files   Alteryx License Bundles: Alteryx Designer Alteryx Designer w/Spatial Alteryx Designer w/Scheduler Alteryx Designer w/Data Alteryx Designer w/Scheduler w/Data Alteryx Server Alteryx Server w/Data Basic Deployment Spatial Data Scheduler Option Data: US, CAN, EUR, or all * Scheduler Option. Data: US, CAN, EUR, or all * Scheduler and Gallery Scheduler and Gallery and Data: US, CAN, EUR, or all * *Your data package may include other geographical areas of the world. If you are interested in other data packages, please contact your Account Representative.   Note: Please be aware that Alteryx Server w/Data is meant for users who have Designer w/Data license so that they may be able to deploy their workflows utilizing data on the server. The Alteryx Server does not come with data and only users with data licenses should be using the data on the Server. If you have questions, please see the license agreement or talk with your Account Representative.                                                                                                                                                                                                                    If you need Alteryx on a Server OS, Virtual Machine, or if you are at the end of your contract please contact your Account Representative for installation options.    Now that you have read through how you can setup your machine to install your license. Please move on to the next article: License Series Part 2 - License Install License Series Part 3 - Managing Your License License Series Part 4 - License Errors
View full article
The Alteryx Gallery is full of interesting and useful Macros which provide 'out of the box' solutions to a lot of use cases! With well over a 1000 macros available which ones do you find most useful?
View full article
Data Integrity refers to the accuracy and consistency of data stored in a database, data warehouse, data mart or other construct, and it is a fundamental component of any analytic workflow. In Alteryx, creating a macro to compare expected values to actual values in your data is quite simple and provides a quality control check before producing a visual report. Let me show you how to build this.       The two inputs represent the actual and expected values in your data. These data streams are passed through a Record ID tool to keep positional integrity and then passed on to the Transpose tool to create two columns. The first column contains the field names and the second column shows the values within each field. This data is then passed on to a join, matching on Record ID and the Name of the field, in order to compare each value. Lastly, if the data does not match from expected to actual, a custom message will appear in the results messages alerting the user where the mismatch happened within the dataset. The image below shows the error message produced if values differ across datasets.     Tony Moses Client Service Representative
View full article
These methods should work in most versions of Alteryx up to and including 10.1.   One of the most common issues we see from clients trying to read in a .csv file is that they are receiving an error starting “Too many fields in row x”, and because of this Alteryx can’t read in the file.     There are a couple of different ways you can resolve this error.   First, in the Input Data tool, you can tell Alteryx to treat read errors as warnings to allow the file to be read in.     This will change the Error to a Warning so that Alteryx can read in the file so you can investigate.     The other method is to read the file in with no delimiter. You can do this by changing the delimiter in the Input Data tool to \0.     Once you have your data parsed back out into its fields, you can use the Dynamic Rename tool to correct your field names, a select tool to remove the original field, and a simple Trim() function to remove the extra delimiter from your data.   This process is illustrated in the attached workflow, created in version 10.1.    
View full article
Regression analysis is widely used for prediction and forecasting. Alteryx customers use these statistical tools to understand risk, fraud, customer retention and pricing, among many other business needs.   Regression analysis is a statistical process for estimating the relationships among variables.  The common reason to use this tool is to ascertain a causal effect of one variable upon another, such as the effect of a price increase on demand, for example, the effect of a tobacco habit on an individual’s likelihood to be diagnosed with lung cancer. Regression analysis is comprised of a variety of tools within Alteryx, which are part of the standard Alteryx Designer License.   This video provides a brief tutorial of using Regression Analysis tools on Major League Baseball Stats and includes an overview on how to configure the following tools:   Association Analysis tool Linear Regression tool Stepwise tool Nested Test tool Score tool     Alteryx customers use predictive analytics to identify patterns found in historical and transactional data to identify risks as well as opportunities. Alteryx Predictive analytic tools are built on Open source R.   Alteryx users are not required to know R to execute predictive models because all of the models in Alteryx are packaged into easy-to-use macro tools that only require configuration.  All predictive tools are macros, and therefore not a “black box”. Macros provide the user with the flexibility to open all models and dissect the logic, as well as see and modify the R-script(s) being executed.
View full article
For 10.1, we updated our installer screens to something a bit more modern looking. Here's a comparison:         Some users may run into an issue where the new Alteryx installer screens do not display text correctly if Alteryx is being installed on a machine using a Windows Classic/Windows Standard theme. (See the image to the right.)   Windows 2008 R2 Server OS system uses this theme, so users with this OS may encounter the issue.   We believe this problem will only occur if the machine also has a previous version of Alteryx installed.   If the issue occurs, there is a simple work-around: Quit the installation Uninstall the previous version of Alteryx using the Control Panel. After the uninstall is complete, run the installer again. The installer screens should display properly.     This information is also available on our Release Notes page (http://downloads.alteryx.com/). It's always a good idea to read through the Release Notes when downloading a new version. Key Features - highlights exciting new enhancements added for the release. Additional Changes - lists minor updates as well as notable bug fixes. Known Issues - documents small issues (like the one outlined above) and work-arounds to use if you encounter them.   Although 10.1 is a minor release, it contains a number of exciting new enhancements, and we're looking forward to hearing what you think about them.
View full article
Question Is it possible to add a comment to an expression used in a Filter or Formula? Answer Yes, once you have a valid expression, just use // followed by your comment on the next line.    
View full article
Alteryx Analytic Applications (Apps) are very useful.  They let us take a process, parameterize parts of it, and add an interface so that end users don't need to know all of the inner workings of the process in order to make it work for their specific scenario.  We can even take an app and publish it to an Alteryx Gallery so the process can be shared with someone who doesn't even have Alteryx installed on their machine.    A common question we hear from app builders is, "how do I make the choices presented for one interface question depend on a previously answered interface question?".  This is primarily accomplished by chaining multiple apps together such that the results from App #1 dynamically provide the options for a drop down or listbox question in App #2. Step 1 and Step 2 in the attached package provide an example.   What if the question you want to update is not a drop down or listbox?  You can actually use App #1 to dynamically update the raw XML controlling the question (or any tool) in App #2 prior to presenting the questions of App #2 to the user.  Step 2 and Step 3 in the attached package provide an example.     Less often, we are asked how we can create what I like to call a "feedback loop" in the interface.  This involves the user of the app filling out a set of questions, seeing some result from those questions, and deciding whether to continue forward or go back to modify their initial selections. This can be accomplished using the same idea of modifying the XML to dynamically decide which app becomes the next link of the chain in a process.  Step 3 in the attached package is an example that will either move on to a real step 4 if the user is happy with the results from Steps 1-3 or will loop back to Step 2 so the user can modify their initial selections.  They can continue in the loop, modifying their selections in Step 2 over and over until they are satisfied with the results and choose to move on to step 4.     The attached package (created using Alteryx 10) contains an example for each of these options with a few notes calling out the different examples.   Please note that both options involving modification of an app's XML will not work in an Alteryx Gallery because any app run by the gallery must be verified by the server ahead of time and there is no way to build this verification step into the app.      
View full article
  One of the great things about Alteryx is the ability to have multiple geography types (points, lines, regions) all contained within the same record.     However, when exporting map layers to MapInfo Tab file format, a decision has to be made of which spatial field to keep.  What if you want all of them?!     Not to worry! The Transpose tool will save the day!     To configure the Transpose tool all fields will need to be selected under the Key Fields except for the spatial fields, they will be selected under the Data Fields.       Just note that there are now 2 fields for the radius. RadiusSize will correspond to the first trade area (row 2) and RadiusSize2 will correspond to the second trade area (row 3).   Now, more importantly all the spatial objects exist in one field (the Value field) and can now easily be exported to MapInfo.      Note: this methodology will also work for ESRI shapefiles, however, all the spatial objects must be of the same type. All points, all polygons...   (An example workflow is attached. This workflow was created in Alteryx 10.0)
View full article
Find yourself with latitude and longitude coordinate pairs for your spatial objects but not much else information on the locations? In Alteryx 10.0, if you need more geographical information on a coordinate, try converting it into a spatial object and using the Find Nearest Tool to find coinciding Experian geographical data from an Allocate Input Tool. This can be used to reverse geocode less granular address information such as ZIP Codes, counties, states, and even approximate “places.” Just be sure to send it in with a record ID, as the Find Nearest Tool will append a row each time it finds the closest specified value for each selection:
View full article
My code runs in R, but not in the R Tool?
View full article
Hive ODBC can be slow when writing to tables. If you are looking for a faster option to write to Hive and want to create a new table or overwrite an existing table, use the IN-DB tools to output your data. 
View full article
A common error we see in Support is: "The temp drive is getting full. Free up some disk space or cancel." Here's how to fix it!
View full article
We are working diligently and intelligently on making connections to databases easier, more secure, and faster in Alteryx. Even when we can make the best possible experience for our users come to fruition, any user may still encounter some issues due to the use of third party drivers and/or the intricate communications between the database, driver, and Alteryx. To help to minimize those issues, Alteryx is tested with an abundance of "supported" databases and drivers that are proven to be compatible but, unfortunately, you just can't test every database and every driver out there. Our technical specifications page found here will show you those databases Alteryx supports, as well as the drivers we have tested and support with respect to each database. This does not mean Alteryx will not connect to a database or driver you do not see on this page (or links within the page), however, Alteryx can not support those databases and/or drivers if troubleshooting or setup is required.
View full article
When importing a delimited file, have you ever run across an error saying ‘Too many fields in record…’ and it’s something like record number 1478254 and you think to yourself, “how the heck am I going to find that record and correct it?”   Well, let us help you with that.   This message is essentially telling us that some particular row of data, when parsed, has more fields that the first row of data (usually caused by an extra delimiter in that row). The first step in identifying the row is to change the delimiter in the Input Data configuration window. Change the delimiter from the current delimiter to \0 (that is a backslash zero, which stands for no delimiter). This will read in your file but instead of parsing, it’ll just read in the data as is.   Current delimiter:   Versus:   No delimeter:   Now just add a RecordID tool and Filter tool so we can filter on RecordID 2 (or 1478254) to find the row that is holding us up.     Now that you’ve identified the row that is causing issues, you could go back to your original data, correct it and try importing it again.    If you were looking closely at the example data, you may have noticed that record 4 also had a different number of fields as row 1.  After correcting row 2 and importing , again, we would get an error for row 4. Just follow the same procedure to correct additional errors.  This could probably be done through an automated/iterative process, but that will have to wait for another time.   (attached is an example workflow created in Alteryx 10.0)  
View full article
The guide covers SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, CROSS JOIN, WHERE BETWEEN, WHEREIN, DISTINCT and we hope you find it helpful.
View full article
We frequently get questions about how to flag rows in a  data set that are missing values in any column.     In the example below, we will demonstrate how to add a new column to the data that gives a count of null or empty values per row. The end result will give a count of 1 to each of the highlighted rows in the image.  The new column can be used in a filter tool to isolate rows of data that have missing values.
View full article