cancel
Showing results for 
Search instead for 
Did you mean: 

Alteryx Knowledge Base

Definitive answers from Designer experts.
Announcement | Looking to expand your Alteryx skillset?! Check out the latest set of interactive lessons in Alteryx Academy: Creating Analytic Apps
 You are using an unsupported browser for translation. Please switch to another browser.

  ISSUE:   Error “ Error: Publish to Tableau Server (1): Tool #252: Tool #4: Tableau Server API Request (Publish file) Error Code 400011: Bad Request -- There was a problem publishing the file ‘ ’ “ when publish .hyper file of Excel with data source metainfo (.tds) file.   Repro Step:   Connect to an Excel file on Tableau Desktop Create an Extract with .hyper extension Then right click on the data source > add to Saved Data source, to create the metadata file (.tds) file Open Alteryx Designer, connect to the same Excel file using input tool Drag a publish to Tableau Server tool, type in all the relevant information, for Data source metainfo (optional), select the .tds file created in step 3 When run the workflow, this error would occur   Resolution:   Option 1 Do not create extract of the file, for text based file, do no need to create a local copy After created the .tds file (add to Saved Data source) , open the .tds file in a text editor like notepad ++ Modify on line 8, where filename = ‘ ’, change the path to UNC path + The original one looks something like: filename='H:/output.xlsx' + Change it to something similar to the following: filename='\\extendthereach.com\alteryx\CustomerSupport\output.xlsx'   Note: As a best practice, have the original Excel file in a share drive if it need to be used for other users in the organization or it will need to refresh on Tableau Server in the future. And make sure Tableau Server Run As User account has the sufficient permissions to access the share drive.   Option 2 -   If the Excel file has to be located on the end user’s machine, change the path in TDS file (line 8) to something like the following when the file in on local machine:    filename='\\?\C:\Users\kchen\Documents\Example named ranges.xlsx'   Note: If the Tableau Server Run As account does not have sufficient permission to access the share drive where the file is located, the following error would occur when connected to the Data source on Tableau Server:     “Unable to connect to the file "C:/Users/<Username>/Document/filename.xlsx". Check that the file exists and that you have sufficient access privileges for it. DataServiceFailure Unable to connect to the server "localhost". Check that the server is running and that you have access privileges to the requested database.”     See following Tableau KB for more information: https://kb.tableau.com/articles/issue/error-unable-to-connect-to-the-file-file-path-Check-that-the-file-exists-and-that-you-have-sufficient-access-privileges-for-it-refreshing-extract  
View full article
 When attempting to publish a workflow to your private Gallery which contains the Publish to Tableau Server macro, you may encounter an error similar to this:   “ Cannot find macro "PublishToTableauServer_v1.08.1\Publish to Tableau Server.yxmc"   This is typically due to one of two reasons:   The Publish to Tableau Server macro has not been installed on the Alteryx Server where the Gallery is located. The macro has been installed but has not been installed in the correct location, or the Gallery cannot access the macro for other reasons. Please see this link for instructions on correctly installing the Publish to Tableau Server macro on an Alteryx Server.   Even when the macro has been installed properly on the server, this issue can still occur, and if it does, here is a simple workaround to get your workflow published:   Save the workflow to the Gallery: From Designer, click on File > Save As and choose your Gallery. Add the Tableau macro components as assets of your workflow: Click on Workflow Options > Manage workflow assets. Select all of Publish to Tableau Server related assets (currently there are four). Including these assets when publishing should allow the workflow to publish and run successfully in the Gallery.   Thank you!
View full article
As long as you know where to look, data has all the answers. Sometimes, though, those answers aren’t clear as day. More often than not, they need to be communicated in an effective format - a format that can let the data talk and highlight the important motifs for you. Another favorite of the Reporting Tool Category , the Charting Tool can do just that by adding expressive visuals to any report or presentation. Offering an exhaustive list of charts to choose from (area, stacked area, column, stacked column, bar, stacked bar, line, tornado, pareto , box and whisker, scatter, bubble, polar, radar, pie), the Charting Tool will give you the ability to add descriptive visuals, with legends and even watermarks, to your reporting workflows that will help you find the answers in your data.
View full article
Users often ask, "How do I do (x) function in Alteryx?" - here's a handy guide for translating Tableau functions for use in Alteryx!   *Please note: This is not a comprehensive list of all functions available in Alteryx and Tableau - only functions that are written differently, but perform similar tasks, are included here. For a list of all the functions available in Alteryx, please refer to our Help Documentation.   Number Functions  Alteryx  Tableau CEIL(x) CEILING(x) Return smallest integer greater than or equal to [x]. Works like the 'RoundUp' function in Excel. MOD(n, d) x % y Modulo of n divided by d - The Modulo operation finds the remainder of division of one number by another number. POW(x, e) POWER(number, power) Return [x] raised to the [e] power. Round(x, mult) ROUND(number, [decimals]) Return [x] rounded to nearest multiple of [mult]. IF isnull([field]) THEN 0 else [field] ENDIF or Contains([field], "string") ZN(expression) Returns the expression if it is not null, otherwise returns zero. Use this function to use zero values instead of null values.   String Functions IF Contains([field], "string") then 1 ELSE 0 ENDIF Contains(string, substring) Returns true if the given string contains the specified substring. FindString(string, Target) FIND(string, substring, [start]) Searches for the occurrence of a particular string within a data field and returns the numeric position of its occurrence in the string. In Tableau, returns the index position of substring in string or 0 if the substring isn't found. If the optional argument start is added, the function ignores any instances of substring that appear before the index position [start].* Length(x) LEN(string) Return the length of the string [x]. LowerCase(x) LOWER(string) Converts a string to lower case. REGEX_Match(string, pattern, icase) REGEXP_MATCH(string, pattern) Searches a string for an occurrence of a regular expression. REGEX_Replace(string, pattern, replace, icase) REGEXP_REPLACE(string, pattern, replacement) Allows replacement of text using regular expressions and returns the string resulting from the RegEx find pattern and replace string. Substring(x, start, length) MID(string, start, [length]) Return the substring of [x] starting at [start] and stopping after [length], if provided.* TRIMLEFT(x, y) LTRIM(string) Remove character in the string y from the end of the string x; y is optional and defaults to trimming white space. In Tableau, this function trims extra whitespace. TRIMRIGHT(x, y) RTRIM(string) Remove character in the string y from the end of the string x; y is optional and defaults to trimming white space. In Tableau, this function trims extra whitespace. Uppercase(x) UPPER(string) Converts a string to upper case.   Date Time Functions DateTimeAdd(datetime, interval, units) DATEADD(date_part, interval, date) Return the given date/time modified by the given duration. The <interval> specifies a positive or negative integer of time to add or subtract and <units> is one of a date/time unit - "years", "months", "days", "hours", "minutes", or "seconds". For Tableau, additional date_part units are allowed. DateTimeDiff(datetime1, datetime2, units) DATEDIFF(date_part, date1, date2, [start_of_week]) Subtract the second argument from the first and return it as an integer difference. The duration is returned as a number, not a string, in the specified units - "years", "months", "days", "hours", "minutes", or "seconds". For Tableau, additional date_part units are allowed. DateTimeTrim(datetime, trim type) DATETRUNC(date_part, date, [start_of_week]) Remove unwanted portions of a date/time and return the modified date/time. Options include: firstofmonth, lastofmonth, year, month, day, hour, minute. In Tableau, truncates the specified date to the accuracy specified by the date_part. This function returns a new date. For example, when you truncate a date that is in the middle of the month at the month level, this function returns the first day of the month. The start_of_week parameter is optional. DateTimeNow() NOW( ) Returns the current system date and time. DateTimeParse(datetime, format of incoming string) MAKEDATE(year, month, day) Converts a date string with a specific format to the standard ISO format yyyy-mm-dd HH:MM: SS. In Tableau, returns a date value constructed from the specified year, month, and date. DateTimeToday() TODAY( ) Returns today’s date. The time is set to midnight of the beginning of the day. Returns the current date.   Conversion Functions ToNumber(x, bIgnoreErrors, keepNulls) INT(expression) or FLOAT(expression) Converts a string parameter to a number. The second parameter is optional and allows for ignoring conversion error messages. This parameter is a boolean flag and will accept a value of 1, 0, true or false. There is an optional 3rd parameter to handle Nulls. In Tableau, INT casts its argument as an integer. For expressions, this function truncates results to the closest integer toward zero. FLOAT casts its argument as a number with decimal/float precision. ToString(x) STR(expression) Casts its argument as a string.   *In Alteryx, string positions start at 0. In Tableau, string positions start at 1.
View full article
Craig Bloodworth from The Information Lab posted the below in the Community Forum discussing a macro he has built to make pulling information from MongoDB easier!    Building on this KB article I've created a macro which will do all the work for you and allow you to send the data into your favourite data storage device.   You can download just the macro from the gallery.   If you use Tableau and want to take advantage of a pre-built workbook take a look at this workflow.   There's also a blog post on The Information Lab website.   Here's some screenshots of what you can extract:      
View full article
Question Is it possible to change a Qlikview Dashboard to Tableau using Alteryx? Answer Alteryx is able to read Qlikview data files (*.qvx) via the Input Data Tool. You can then use the Output Data Tool to create tableau data files (*.tde).  While it is possible to move the data visualizations, it cannot be converted. Try simply reading in the Qlikview file and outputting to a Tableau file; you will need Tableau desktop to build the new Tableau dashboard.    Input data - browse to .qvx file:     Output data - browse to new .tde file:     Sample .tde extract:  
View full article
The ‘How to Guide’ for the Publish to Tableau Server Tool   The partnership between Alteryx and Tableau is becoming stronger and stronger, and the seamless effortless integration has been made easier through the Publish to Tableau Server Tool.   You can download the tool from the Alteryx Analytics Gallery. Once you have downloaded the tool you should be able to find it in the Tableau folder at the end of the tool bar.     Now once you have downloaded the Macro you are ready to configure the tool and Publish to Tableau.   Step 1: Access   You have to have access to an instance of Tableau Server ( 9.0.1 and above) or Tableau Online to use this tool and publish a data stream to tableau. Unless noted otherwise, Tableau Server and Tableau Online are interchangeable throughout this document and throughout the tool's configuration. For the sake of brevity, “Tableau Server” will refer to both Tableau Server and Tableau Online for the remainder of this document.   Step 2: Connect Option   This macro gives you the choice to either connect directly to Tableau Server through the web browser or through the server URL.   ‘Connect with full page URL’ When you log into Tableau Server navigate to the workbook page you are looking to write to. This is the recommended option. You can then copy the whole URL into the text box given in the interface.   Example URL: https://10ay.online.tableau.com/#/site/mycompanyssite/workbooks   ‘Connect with server and site’ With this option selected, you must enter in the domain name for the Server URL (eg, https://10ay.online.tableau.com using the example above).   Tableau Server is designed so that multiple "sites" can be hosted on the same server instance. Use the guidance below to determine your site name when you log in to Tableau Server from a web browser.   With Tableau Server, immediately after entering in a user name and password, one of two things will happen:   1) The user is prompted to select a site. If this happens, the site selected here can be entered into the “Enter site name” field 2) The user is logged directly into Tableau Server, without having to select a site. If this is the case, then the user should select the “Use default site” option.   With Tableau Online there is no default site and you will always need to manually enter the site name with this option (one of the reasons “Connect with full page URL” is the preferred method, especially when connecting to Tableau Online). Once you log in, the URL should be something like: https://10ay.online.tableau.com/#/site/mycompanyssite/workbooks. The site name will be the string contained between the slashes following "#/site/". In this example, the site name would be mycompanyssite.   Once you have chosen your connection you can choose to ‘save connection history’ which will keep your credentials and connection within the ‘select existing connection’ radio button. This will populate a dropdown with all your previous successful connections.    Step 3: Enter your username and Password   At this stage please enter your username and password for Tableau Server, the same as when logging in through a web browser.    *Please see common errors if you are receiving an ‘Error 400000 Bad Request message’   Step 4: Let’s move to the Output tab   By default the ‘Publish data source’ will be selected. At this stage you will need to type in the newly created data source on Tableau Server. The data source name is case sensitive and needs to be accurate.   You can either manually type in the project name or choose ‘select project name’ which will only populate if you have ‘Refresh project name list…’ ticked and have run the module once. If the ‘Refresh project name list’ option is checked, no data will be published to Tableau Server – this is simply a setup step to get the list of available projects put into the dropdown!     Step 5: Output Options   Once you have the correct data source and project name you can choose your output method. “Create data source” will generate a new file in the specified project folder, however if a file already exists with the same data source name, the file will not be uploaded and will give an error.   The second option is “overwrite data source”. The file will be uploaded regardless of whether the file exists or not in the specified project folder. If a file with the same name already exists, it will be overwritten.     Step 6: Optional   If you choose to select the “request authentication token” option the macro will provide an authentication token in the X-Tableau-Auth field. This can be used to make subsequent calls to the Tableau Server REST API with the Download tool or other tools such as curl. The data source will not be published.   Tips and Tricks   Make sure the tool is up-to-date!   Visit the Publish to Tableau Server tool’s Gallery page by going to gallery.alteryx.com and navigating to the Macro District, or by going directly to this link.     Then, check the version of the tool by right-clicking on it, and clicking “Open Macro: Publish To Tableau Server.yxmc”. Then, in the workflow configuration window, click on the Meta Info tab.   [Note: v1.02 and earlier do not show the tool version, in which case you should update to the newest one by downloading it from its page on the Gallery!]   Do your homework! Log into the Tableau Server or online and retrieve the connection URL name! You only need the URL up to the workbook you are writing out too.   Check the small print! If you choose the ‘select project name’ make sure you tick the ‘refresh project name list’ and run the module once to populate the drop down. (And again, when the tool is run with this option checked, no data will be published.)   ‘Refreshing’ the data source Using the new Publish to Tableau Server tool, even if you are successful, it will not “refresh” the data source automatically. This means you’d have to do it from the Tableau side. Within Tableau you can set up interval refreshing which will refresh on the Tableau side periodically. However, you can also refresh manually as well.         Common Errors   “Payload is either malformed XML or incomplete”     Solution This is a limitation in the Tableau Server API, that we’ve communicated to Tableau, but are awaiting a response/fix so it’s a bit outside our control. If your password contains any characters that require xml-escaping double/single quotes, greater than, less than, ampersand, or percent sign – “ ‘ < > & %) – then the login request will fail. This is especially true if your password has two special characters in it. The latest Publish to Tableau Tool has been built to handle the majority of these special characters however if you continue to experience this error message, the current workaround is to change your password to avoid special characters or include just one of the above characters.     “Tool #200 Iteration limit of 1000 was reached”     Solution This error has been resolved in the latest version of the tool. Please download it here.    “Tableau Data Engine Error: 4: SimpleDatabase::SelectMetadataName: expected found=1, actual found=0 (fk= name="Extract" nameTable="TEST") The table "[Extract].[Extract]" does not exist. Unable to connect to the file "C\Desktop….". Check that the file exists and that you have sufficient access privileges for it.” This error has been resolved in the latest version of the tool. Please download it here.       If you continue to have problems with the Publish to Tableau Tool please contact Support.   Best,   Jordan Barker Client Services Support Engineer                          
View full article
I recently set up an app that got me One Step Closer to Alteryx Nirvana. Check it out!
View full article
Every so often we get questions about a .tde (Tableau Data Extract) file that is being output from Alteryx that has a file size of 30k when the original data is much larger. When the file is opened in Tableau this error sometimes comes up:   An error occurred while communicating with data Source ‘yourfilename.tde’     The last couple times I’ve helped troubleshoot this it came down to a field or fields in the data that ultimately needed to be a V_WString data type in Alteryx to accommodate for a some Unicode characters (think Japanese or Chinese characters, symbols like ♥ or © or even letters like ñ and ó).   Sometimes it may not be easy to identify fields with those characters. “So how do I find them?” you ask.   Here are a couple things to try: If your table isn’t too large scan through it to see if anything pops out. Try saving each field out as a file all to itself. If a file is 30k in size it is worth investigating that field of data. To try this method use a Select Tool to select one field at a time and then save it to a .tde file.  The results may look like this:   So the possible trouble column has been identified, now what?  Examine the field to see if there are any characters that may be ‘out of the ordinary’. Then in either an existing Select Tool or by adding a new one, find the field in question and change its data type to V_WString and try saving it to a .tde again.  If the file size is different that 30k it may have corrected the issue.     So what if there are too many fields in the data to save them out one by one manually? Batch macro to the rescue!  Create a batch macro to loop through each field and save it out to an individual file for examination.   A workflow is attached (created in Alteryx 10.6) that shows an example of a file that saves incorrectly to a .tde, that is fixed and saves correctly to a .tde and includes an example of a macro that saves each column as its own file.
View full article