I’m trying to create a UI path bot which will download the report for each filter selection.
So I’ve 3 filters in my tableau bot named like Period, Manager and Analyst. and the analyst filter is configured as “All context value” filter which mean based on the filter value of the manager, the analyst filter will show up.
Could you please advise me on how to configure my bot to download the report for each filter values.
Click activity I can’t use as their are lot of names in the filter values and the analyst filter is a single value filter so It won’t show a textbox to search for the names.
I think more information is needed to be able to answer this question.
From my understanding of what you have explained is that there is some data, and you are using a filter to determine what data (files) to download?
I would use a for each loop and check if the current item is the same as one of the filter. Then run the steps for downloading the file.
Do you have any xaml files to share or such, would be easier to help.
@Ninjabullen Thank you so much for your quick response. I can’t share the xaml files as per the my company policy. But I can show you the similar kind of tableau report where I’m trying to perform UI path automation.
Please find the screenshot of the report in the attachment
As you see in the report there are 2 filters named “Account Manager” and “Project”. For each filter selection “sales rep score” chart is changing . Now I need to create a bot which select values from both the filters one by one and download the pdf report in my machine.
I cannot use click activity as there are too many values in both the filters.
Is there any way I can achieve this without using click activity. and If I’m using for each loop, how can integrate it in tableau report.
Can you elaborate the basis of selecting the dropdown , is it like combination of two values (Account Manager , Project )
if so how you are getting the values to apply filter ( from excel file or is it fixed )
combination is just(ABC ,XYZ123) or (DEF,XYZ456 ) then use one for each loop of the data table give the values based on columns
(ABC ,XYZ123) , (ABC,XYZ456 ) , (DEF,XYZ123 ) and (DEF,XYZ456 )
then use nested for each loop of the data table
Assuming your requirement is same
@LAKSHMI_NARAYANA_PEMMASAN thank yo so much for your response. So the filter values are coming from database and for each account manager there are multiple projects. |ABC|XYZ123|, |ABC|XYZ456|, and for each Account manager filter, Project list is also changing like |DEF|XYZ678|, |DEF|XYZ980|. Plus there are around 25-30 values in Account Manger filter and for each Account manager there are around 5-6 different projects value, for few account account manager there are no project values.
So my doubt is how can I setup a for each loop if I’ve like more then 20 values in 1 filter and value of other filter is also changing as per the selection.
i guess their is some gap in understanding the scenario
correct if i am wrong
first you get data from database as table with the details of manager tagged to Project
if this is correct then a simple for each loop will work , as in each iteration first will select the manager value and project value using “select item” activity
if the case is different
Please provide a screen shot of sample input data format you are getting
one more doubt that you will only get manager details , and you enter the manager name in the dropdown , you will get the project drop down (list will get populated ) so you have to select all the values one by one
then in that case it is also simple that first loop will be manager details and in each iteration you use find children activity of project drop down and will use one more for each loop with children details of project drop down.
other case of assumption is you don’t get any data from any source as imput
you have to select each manager from drop down then use find children activity to get all the managers list
so this will be the outer loop and then the above scenario repeats
Apologies for reaching out late to you. Actually I’m not sure which for each lop I’ve to use. Is it normal “For each” or for each UI element?
So I’m opening the tableau report using the browser activity and I want my bot to first click on the drop down button in order to populate the list of managers as well as projects and then select the values one by one, not sure how “select item” activity work
You’ve suggest below method
"one more doubt that you will only get manager details , and you enter the manager name in the dropdown , you will get the project drop down (list will get populated ) so you have to select all the values one by one
then in that case it is also simple that first loop will be manager details and in each iteration you use find children activity of project drop down and will use one more for each loop with children details of project drop down."
quick doubt regarding this, so I’m not entering the manager details manually in the drop down. I need the bot to select the name from the drop down and then goes to the project filter, click on the drop down button and select the project name one by one for each manager.
so how can I allow the bot to first click on the filter drop down button>select the manager name> then go to the project filter drop down>click on the the filter drop down button>select each project name one by one using the for each > and thenclick on the download button and download the report for each project
I’ve attached a screenshot of how the tableau filter looks like in my report. Hope this helps
to achieve this try the following steps
1.get all the managers list using find children activity - output will be list of elements
2.use for each loop - give the output from previous activity - if required select type argument as UiPath.core.uielement ( if not autodetected)
3. in for each loop use get attribute to get the name of manager - input will be from foreach like currentitem , output will be text item manager name
4.use select item activity to select the manager , input is manager name from get attribute
5.next use find children activity to get the project list (optional to use delay activity before this activity to get the project list load )
6. for each loop to loop through projects list these all are under main loop of managers list
7. from here actions are under projects loop - use get attribute to get name of project input will be from project loop , output will be project name
8. select item to select the project
9.now you have to use click activity to click on download button
10. use wait for download to get the file downloaded
11. next actions depends on how you required like moving the file to specific locations or some thing
Hope this helps
Hello @LAKSHMI_NARAYANA_PEMMASAN .
I’m trying to fetch the the data from find children activity for some reason it’s not populating all the elements from the dropdown.
I’m using the chrome browser activity to perform the steps? Not sure why this is happening. I even tried indicating the drop down button also in “Find Children” activity but no luck. Here are the screenshots
Do I have to download the report in my system in order to perform these steps?
are you getting any value from dropdown or no any element is found?
As you mentioned you are opening it from chrome, you should be able to get some selector , can you paste here
also check use write line or through locals panel how many you are getting
What do you mean by download the report , did not get you
Sorry for the confusion, as I was not getting any children items from the drop down while opening the tableau report in the browser. I was just checking if this find children activity will work if I just download the report in my system and then use the activity.
Anyway I used the write activity and in my previous screenshot you can see that “ChildrensData” variable which is name of the children for Manager drop down which is only taking 2 values.
In that variable under UiElement, I found the “Selector” value. I copied that value and pasted in “Ui explorer” to validate it and checked the inner text, It seems all 40 of my dropdown values are coming in single uiElement
Ideally it should create seperate 40 UI path elements based on the values.
The inner text values looks like this if I use my name john doe and yours as an example
SyntaxEditor Code Snippet
innertext='—SINGH SWAPNILPEMMASAN NARYANA LAXMIDOE JOHN.
Is it possible to fetch the inner text one by one?
it looks like you did not select right selector as you see the tag is div
open ui explorer in that you will get all elements in left side like tree
As per your request of innertext
if you can build logic based inner text then use get attribute activity and select dropdown as innertext
Based on the output you have to split the values into list and iterate the using for each
That’s the main challenge here, I’ve tried to indicate the filter values but all it’s taking is div tag.
Not sure why
if you look at visual tree in ui explorer , their will be a chances of finding inner elements
you have to expand the div element
Have you tried with different modes like UIA or AA?
Yeah I treid different modes too but it’s just taking the DIV tag every time
also by using the UI explorer I’m indicating the elements but so far I can see first value of the filter under AAName and inner text field. Not the entire filter values available.
Can you check expanding the visual tree ,
reason being if you want to use the select item activity it will not allow all types of selectors
as a last option need to keep the getting values through attributes and splitting them into list and loop them
I checked each Div tag and unfortunately I’m not able to find any inner elements as well as “select” tag. Looks like it’s an issue with the tableau server website. UI path is not able to export the children list.
Is there any other way you can suggest to download the report by selecting each filter values one by one?
Is it possible if copy all the 2 filter values in an excel file. Then UI path will copy the values from excel>paste it in Tableau dashboard in chrome then download one by one?
If yes, could you please advise how to implement it.
and my sincere apologies for tons of doubts. Actually I’m very new to UI path and it’s taking time for me to getting the understanding.