This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
I have a conceptual question and wanted to see if it's possible and if so, how can I go about designing the analytics app.
I have created a large alteryx workflow that will do a lot of data wrangling for the sample file that follow certain format. What I wanted to create is that an analytics app that will prompt the user to input a file and then be able to configure the input file within interface designer so the file will be compatible with the sample file that we created the alteryx workflow for.
Is this possible? Because right now, the process is that people have to copy and paste from their own file to a new file that follows the sample file template. It's rather manual and im pretty new to analytics app design so wanted to see if there are any resources or sample out there I can learn from.
I would need a little more detail as to what this "template" looks like and the reason for the template. Is the reason for the template for data type reasons, for column name reasons, or for the layout of the data is in the spreadsheet?
There are tools that you can use like the Dynamic Rename as an example to get the data to form that 'template' within Alteryx before it hits the other "data wrangling" part. But, it's really going to depend on how many different ways people are going to Input the data. If all the users have different layouts, different field names, etc, the template may be the easiest way to go. Otherwise, you would have to account for every instance of those differences in the workflow.
There are options like chained apps where the user can input a file and after selecting run, another app interface opens with the fields within their file. they can then select the fields they want to keep, then hit run again and the workflow would then execute on just those fields. Check out in the Help>Sample Workflows>Learn one tool at a time>Interface>List box and you will see how that interacts with the select tool. There are also other examples in there on how to use the interface tools.
Sorry that I don't have a full answer, but if you could provide more details I might be able to mock something up.
@DanM Thanks for your detailed reply. It was helpful.
I have included my analytic app and the sample workflow below for reference.
As you can see, I have used Analytics app to include the 'sample template' that will go with this workflow. What I wanted to do is to have more configuration within the interface. For example, for the first input tool, i would like user to input their selected file, and then i would like to ask them to choose 'category description' column from their uploaded file so the filter tool will work properly. Another example, for the other input tool, I would like to ask the user to name 'Description', 'TB account' and 'Cost Center' from their upload report so we can rename it appropriately. Does this make sense?
Appreciate any insights that might help me to do just those tasks. Thanks!
I think I have what you asked. See attached. I only did it for your first example, but this can work for the others the same way.
1. Input Tool - Select the First Row Contains Data. This will push the column names down to the first row. This will allow you to manipulate the columns names dynamically.
2. Sample Tool (197) - First N rows N=1. This will remove the column name row.
3. Transpose (198) - This will put the column names in a field which will allow you then to change the names of the fields using the interface tools.
4. Formula (199) - Replace([value], 'value', 'Categories Description') The Value field is selected. The interface tool will replace 'value'. This will then allow the user to type in whatever their name is and Categories Description will replace it.
5. Cross Tab - Name and Value with concatenate as method. This will put the data back to its original form.
6. Sample (203) Skip 1st N=1. This will skip the header row.
7. Union (202) - Union the header date onto the data
8. Dynamic Rename (201) Rename Mode: Take Field Name from First Row of Data. This will bring the headers row into the Column headers.
There are other techniques to accomplish this. You could setup the Dynamic Rename with expressions to recognized the data to rename as well, but I went this route as I don't know what those expressions would be to identify your data.
Thanks! I was able to follow your steps and it does give me direction in terms of what I should do move ahead.
So I am still at the first step. Instead of using text box tool to type in, I wanted the user to be able to select column to update to 'Categories Description'. I used the List Box function, but it's somehow not working. Would you mind taking a look and see if I miss anything here? Or is text box the only way that we can make it work? Thanks!
You can create another workflow that consists of the file browse and Input tools from your first app. The user then inputs their file there. In the workflow you will output the data as is in one stream, then in another stream from Input tools you will need to either grab the header data from the first row and create the name and value fields for whatever interface tool you would like to use for the 2nd app. Then in the second app, the Input tools will go grab the data from where you output the original data from the first app and in the 2nd app interface, you will use the technique I gave you.
The reason for the chained app is that Alteryx cannot read the meta data of the inputs until the engine is run. So the first app is basically feeding the 2nd app the meta data you need to display the selections to the user.