cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Fetching Peoplepicker and Choice Value in Showcolumns

Hi All,

maybe this seems a little easy to do but i cannot get my hands around it. i am trying to send my collection data to a flow and that seems to work fine However, when i saw my Create HTML table value, it showed me what i would see normally for any sharepoint value in case of choice and People picker field. Please see the snip below;
image.png
Now the problem i face is i want to fetch the Value of a choice field and Display Name of my people picker field through Show Columns into my collection. How do i modify my current code to do so? Please find the current code below;

If( 

And( Text( ComboBox1.Selected.Result) = "Show All" , Text( ComboBox1_1.Selected.Result) = "Show All" , Text( ComboBox1_2.Selected.Result) = "Show All" ,Text( ComboBox1_3.Selected.Result) = "Show All", Text( ComboBox1_4.Selected.Result) = "Show All"),
ClearCollect(export,ShowColumns(Talenttracker,"Title","ProgramName","ProjectClassification","Region","AssociateClassification","DepartmentCode","AssociateNameMultiple","JobTitle","Year","January2018","February2018","March2018","April2018","May","June2018","July2020","August2020","September2020","October2020","November2020","December2020")));


Please help, as i have been stuck on it for weeks. 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @Anonymous ,

Yeah, it's my bad for the second solution, please modify your formula as below:

If( 
   And( Text( ComboBox1.Selected.Result) = "Show All" , Text( ComboBox1_1.Selected.Result) = "Show All" , Text( ComboBox1_2.Selected.Result) = "Show All" ,Text( ComboBox1_3.Selected.Result) = "Show All", Text( ComboBox1_4.Selected.Result) = "Show All"),
 ClearCollect(
              export,
              DropColumns(
                 AddColumns(
                           ShowColumns(
Talenttracker,"Title","ProgramName","ProjectClassification","Region","AssociateClassification","DepartmentCode","AssociateNameMultiple","JobTitle","Year","January2018","February2018","March2018","April2018","May","June2018","July2020","August2020","September2020","October2020","November2020","December2020"
                                ),
                                "AssociateClassificationValue",
                                 AssociateClassification.Value,
                                 "AssociateNameMultipleDisplayName",
                                 Concat(AssociateNameMultiple, DisplayName & ";")
                    ),
                   "AssociateClassification",
                  "AssociateNameMultiple"
         )
     )
);

Please consider take a try with above solution, then check if the issue is solved.

 

If the AssociateNameMultiple field contains multiple person values, and if you want to achieve your needs using the first solution, I afraid that there is no direct/simple way to achieve your needs. Please consider take a try with the second solution, then check if the issue is solved.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

8 REPLIES 8
Super User III
Super User III

Hi @Anonymous ,

You are welcome to post here, but you will probably get a quicker and more focused response from the experts over at the Power Automate Community.

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

Community Support
Community Support

Hi @Anonymous ,

How do you pass the collection table data ("Talenttracker") back to your canvas app? Using JSON function?

Do you want to fetch the Value of the Choice field and DisplayName of the Person field within the Html Table in your Power Automate flow?

 

Based on the needs that you mentioned, I think there are two ways to achieve your needs. Please take a try with the following wotkaround:

1. You could make custom columns in "Create Html Table" action within your flow, fetch Choice field value and Person Name through expression:

The Collection Table in my canvas app as below:

4.JPG

The formula to pass collection table data to your flow as below:

5.JPG

'PowerApp->JSONString,CreateHTMLtable'.Run(JSON(Talenttracker, JSONFormat.IgnoreBinaryData))

 

The flow's configuration as below:

6.JPG

Within the "Create HTML Table" action, select Columns to Custom, then customize the column (header) name and value there. You could use the WDL Expression to fetch the Choice field value and Person field DisplayName from your passed json table:

item()?['ChoiceField']?['Value']

and

item()?['PersonField']?['DisplayName']

same formula logic should be applied to other columns from your JSON Table.

On your side, you could customize the column (header) name for the AssociateClassification field and AssociateNameMultiple field. Then use the following formula to provide value for the two columns:

item()?['AssociateClassification']?['Value']
item()?['AssociateNameMultiple']?['DisplayName']

 

If you enabled "Allow Multiple Selections" option for the AssociateNameMultiple field (the Person field could include multiple values), I think above solution may not work for your scenario. Please take a try with the following second simple solution.

 

2. You could consider fetch the Choice field value and Person field DisplayName in your canvas app firstly, then pass the modified collection data back to your flow:

Please modify your formula as below:

If( 
   And( Text( ComboBox1.Selected.Result) = "Show All" , Text( ComboBox1_1.Selected.Result) = "Show All" , Text( ComboBox1_2.Selected.Result) = "Show All" ,Text( ComboBox1_3.Selected.Result) = "Show All", Text( ComboBox1_4.Selected.Result) = "Show All"),
 ClearCollect(
              export,
              DropColumns(
                 AddColumns(
                      ShowColumns(
Talenttracker,"Title","ProgramName","ProjectClassification","Region","AssociateClassification","DepartmentCode","AssociateNameMultiple","JobTitle","Year","January2018","February2018","March2018","April2018","May","June2018","July2020","August2020","September2020","October2020","November2020","December2020"
                                ),
                       "AssociateClassificationValue",
                       AssociateClassification.Value,
                       "AssociateNameMultipleDisplayName",
                       Concat(AssociateNameMultiple, DisplayName & ";")
                    )
              ),
              "AssociateClassification",
              "AssociateNameMultiple"
         )
);

After that, pass the export collection to flow, then within the "Create HTML Table" action of your flow, you could use the "AssociateClassificationValue" column and "AssociateNameMultipleDisplayName" column to display corresponding Choice Value and Person Display Name value in your HTML Table.

 

Please consider take a try with above solution, then check if the issue is solved.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

@v-xida-msft hi thank you so much for the reply! 
However, when i tried your first method it did seem to work for all the columns except my AssociateNameMultiple as it said that array values can be selected using integer index as it allows multiple selection. isn't it possible to do something in flow itself so that the first solution can be applied?

 

Second Point : I applied your second solution to but i seems to give an error saying ClearCollect expected 2 or more arguments received 1. i just copy pasted your code, if it is possible could you check if there is an issue with the code. 

However, i would love to see if there is a something we could do about in the first solution only to just get the associatenamemultiple value in create html table by using concat or something?

Hi @Anonymous ,

Yeah, it's my bad for the second solution, please modify your formula as below:

If( 
   And( Text( ComboBox1.Selected.Result) = "Show All" , Text( ComboBox1_1.Selected.Result) = "Show All" , Text( ComboBox1_2.Selected.Result) = "Show All" ,Text( ComboBox1_3.Selected.Result) = "Show All", Text( ComboBox1_4.Selected.Result) = "Show All"),
 ClearCollect(
              export,
              DropColumns(
                 AddColumns(
                           ShowColumns(
Talenttracker,"Title","ProgramName","ProjectClassification","Region","AssociateClassification","DepartmentCode","AssociateNameMultiple","JobTitle","Year","January2018","February2018","March2018","April2018","May","June2018","July2020","August2020","September2020","October2020","November2020","December2020"
                                ),
                                "AssociateClassificationValue",
                                 AssociateClassification.Value,
                                 "AssociateNameMultipleDisplayName",
                                 Concat(AssociateNameMultiple, DisplayName & ";")
                    ),
                   "AssociateClassification",
                  "AssociateNameMultiple"
         )
     )
);

Please consider take a try with above solution, then check if the issue is solved.

 

If the AssociateNameMultiple field contains multiple person values, and if you want to achieve your needs using the first solution, I afraid that there is no direct/simple way to achieve your needs. Please consider take a try with the second solution, then check if the issue is solved.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

Anonymous
Not applicable

@v-xida-msft i have made changes in my code and it seems to work good now, however when i am trying to create a csv file from the html table it throws me an error, any reason why?

image.png
could you kindly help me out in this?

Hi @Anonymous ,

Could you please share a bit more about the "Create file" action in your flow?

 

Based on the issue that you mentioned, I think you want to create a .csv file based on the output of the "Create HTML Table" action, is it right?

 

According to the error message, it seems to tell that there is something wrong with your "Create file" connection, please consider re-create a new connection to the OneDrive connector in your flow, then try it again, check if the issue is solved.

 

Actually, the output the "Create HTML Table" action returned is a HTML Table content, you could not create a csv file based on the HTML Table content directly. The sameple HTML table content as below:

<table><thead><tr><th>Price</th><th>ProductName</th></tr></thead><tbody><tr><td>45</td><td>PowerApps</td></tr></tbody></table>

As an fixed solution, you should create a .html file firstly based on the Html Table content, then convert the HTML file into a PDF format, then you could create a PDF file based on the converted PDF content.

7.JPG

 

If you just want to save the collection table from your canvas app into a CSV file, please check the following video for more details:

https://www.youtube.com/watch?v=QTbVMu6DIfQ&t=1454s

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

@v-xida-msft is it not possible to create an excel file or a csv file from the generated html code? the users do not want a pdf for it.

Hi @Anonymous ,

If you create a CSV file based on the HTML Table content, the CSV file content would be like below:

8.JPG

I think above CSV content format is not your desired result, right?

 

Please take a try with the video resource I provided above, check if it could help in your scenario. In this video, it would save the collection data into a CSV file directly without using "Create HTML Table" action.

 

Best regards,

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
New Badges

New Solution Badges!

Check out our new profile badges recognizing authored solutions!

New Power Super Users

Congratulations!

We are excited to announce the Power Apps Super Users!

Power Apps Community Call

Power Apps Community Call: February

Did you miss the call? Check out the Power Apps Community Call here.

Top Solution Authors
Top Kudoed Authors
Users online (56,243)