cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
HellitonWoo
Frequent Visitor

Create different types of variables

Hi fellows,

 

Is it possible to create the following types of variables or as inputs?

  • data table
  • JSON
  • dictionary

 

Thanks!

Hellitonwoo

15 REPLIES 15
adijain
Employee
Employee

Hello @HellitonWoo ,

 

Power Automate Desktop supports creation of DataTable and JSON variables but not dictionaries. Although, a RowTable can be accessed from a DataTable which has similar functionality as of a dictionary where column names can be used as dict keys. 

 

Hope it makes sense. 

@adijain 

Could you further explain where can I create a "Datatable" or "JSON" type of variable?

 

I don't think I can change the type when creating an "Input".

All inputs are accepted as "String". Thus it takes quite a lot of work to "deserialize" a JSON (from Power Automate web) and re-packaging it into a "list", then feed it to the "UI flow". And to use that Input, I have to split it again, so forth...

HellitonWoo_0-1602619521042.png

 

Also, when creating a "Variable", there's no option to choose the type

HellitonWoo_1-1602619577644.png

 

it would be great if you can further assist here

 

Hello @HellitonWoo,

 

Apologies for the confusion. But, input/output variables in PAD currently only supports creating string data type to get/send data from Power Automate portal. Other data types will be added in the future. 

 

Additionally, for variables within a PAD flow, datatables are created as an output of several PAD Actions, like "Read from Excel", "Read from CSV", "Extract data from web page", "Extract data from window". And a data row can accessed by targeting any one of its row (e.g %DataTable[0]% is a data row) or you can iterate a datatable using "For each" loop. Creating the datatables from scratch with just one action is not yet available in PAD preview, but part of our roadmap.

Anonymous
Not applicable

To create a datatable you can use the set variable action and programming array notation: %{['Product1', '10 USD'], ['Product2', '20 USD']}%

You similarly create a custom object by using the following notation:%{ 'Property1': 'Value1', 'Property2': 'Value2', 'Property3': 'Value2' }%, you can also create lists this way, and even put lists as property values. A custom object can be converted to at json-string with the convert to json action.

Anonymous
Not applicable

This is not true. You can create datatables from scratch using the array programming notation, as described on this site.

Anonymous
Not applicable

You can also create a Datatable which has specific column name:

%{ ^['Name', 'Phone', 'State'], ['Alice', '1234', 'AA'], ['Bob', '2345', 'BB'], ['Cindy', '3456', 'CC'] }%

 

shindomo_0-1631095000744.png

 

Anonymous
Not applicable

@Anonymous  I have  a list with me , after I performed actions like 'Remove duplicate items in the list'. I have to change the list values(generic value type) to data table (with data rows), the data coming from this action 'remove duplicate items in the list'. As i need to write the data back to a excel file. And as you mentioned above %{ ^['Name', 'Phone', 'State'], ['Alice', '1234', 'AA'], ['Bob', '2345', 'BB'], ['Cindy', '3456', 'CC'] }%. 

 

My list contains dynamic values , as every time it will be changing. not specific one's . So kindly suggest what format to use for dynamic values , not fixed values.

 

Kindly look into this .Thanks in advance.

Anonymous
Not applicable

Hello @Anonymous,

 

As far as I know, you do not need to convert a List to a Datatable to write data to an Excel worksheet.

Just use variable %List% for 'Value to write' field of "Wite to Excel worksheet" action.

shindomo_0-1631598983501.png

 

If you dare to convert from List to Datatable, please refer below sample flow.

POINT: You can join a List to a Datatable only if the number of columns in the Datatable and the List is the same.

 

shindomo_1-1631599192658.png

 

Variables.CreateNewList List=> List
Variables.AddItemToList Item: $'''Alice''' List: List NewList=> List
Variables.AddItemToList Item: $'''Bob''' List: List NewList=> List
Variables.AddItemToList Item: $'''Cindy''' List: List NewList=> List
Variables.AddItemToList Item: $'''Bob''' List: List NewList=> List
Variables.AddItemToList Item: $'''Bob''' List: List NewList=> List
Variables.RemoveDuplicateItemsFromList List: List IgnoreCase: False NewList=> List
SET Count TO List.Count
SET Datatable TO { ^['FirstName'] }
LOOP LoopIndex FROM 0 TO Count - 1 STEP 1
    Variables.CreateNewList List=> ListForCurrentItem
    Variables.AddItemToList Item: List[LoopIndex] List: ListForCurrentItem NewList=> ListForCurrentItem
    SET Datatable TO Datatable + ListForCurrentItem
END
Excel.Launch Visible: True LoadAddInsAndMacros: False Instance=> ExcelInstance
Excel.WriteCell Instance: ExcelInstance Value: List Column: 1 Row: 1
Excel.WriteCell Instance: ExcelInstance Value: Datatable Column: 2 Row: 1

 

Thank you.

Anonymous
Not applicable

Thank you @Anonymous for your response. The main aim is to remove the repeated items( overwrite the present data with new data) in my excel file.  As I have a database filtering all the duplicates with (primary key as ID column), but as I have only 1 database storing all the data & have to apply some filters on the data. So this flow is triggered by cloud flow (when an file is created) & then stores in DB & then applying filters.

 

The main issue here is , as filter( The query to DB) applies on all the data in DB , I get the previous data along with new data . So the data in excel is written twice along with new one's. So it has to over write the old data , with new one's.

 

Attaching screenshot for reference(overwriting existing content), as we have for a text file , I couldn't find out for excel actions, so trying the above workaround you mentioned.

Kindly look into the same. Expecting quick response please.

overwriting existing content in a fileoverwriting existing content in a file

Anonymous
Not applicable

Hello @Anonymous,

 

I am not sure if I understand your explanation correctly...

 

But if your main problem is the OLD data which has been retrieved everytime the flow is executed, then you should write to Excel the whole data from begin to end, I think. For example, create a new Excel file which contains every data, and replace the old Excel file with the new Excel file, everytime the flow execute. It's simpler and easier to implement.

 

I think your problem is not related to the Variables discussed here in this topic. So, please create a new thread and post your own question there. 😉

Anonymous
Not applicable

The scenario is little different. yes will drop in another thread.

Anonymous
Not applicable

Hi, 

 

Is there an update on input/output variable data type? I can't create an input variable with any data type different from String.

 

Thank you!

Mien.

According to this:

https://docs.microsoft.com/en-us/learn/modules/input-parameters/3-define-input-variable

there should be a drop down on an input variable type. 

----
If my post has answered your question, please thumbs up and mark this post as a solution.

I also offer paid consulting services. If you would like to discuss this option, please feel free to DM me and we can set up a time to join a Zoom call and fix any issues you are having.
Anonymous
Not applicable

Thank you Michael, 

 

I don't have a dropdown box at the Data Type at all, just a Textbox. I ended it store data (as a datatable) in a file, the input variable is the file path (String).

 

Thank you,

Mien.

adijain
Employee
Employee

@Anonymous @MichaelAnnis Currently input variables in Power Automate for desktop only supports String as a DataType. We do have plans to include more in the roadmap for FY22.  

Helpful resources

Announcements

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!    

Welcome to the Power Automate Community

You are now a part of a fast-growing vibrant group of peers and industry experts who are here to network, share knowledge, and even have a little fun.   Now that you are a member, you can enjoy the following resources:   Welcome to the Community   News & Announcements: The is your place to get all the latest news around community events and announcements. This is where we share with the community what is going on and how to participate.  Be sure to subscribe to this board and not miss an announcement.   Get Help with Power Automate Forums: If you're looking for support with any part of Power Automate, our forums are the place to go. From General Power Automate forums to Using Connectors, Building Flows and Using Flows.  You will find thousands of technical professionals, and Super Users with years of experience who are ready and eager to answer your questions. You now have the ability to post, reply and give "kudos" on the Power Automate community forums. Make sure you conduct a quick search before creating a new post because your question may have already been asked and answered. Galleries: The galleries are full of content and can assist you with information on creating a flow in our Webinars and Video Gallery, and the ability to share the flows you have created in the Power Automate Cookbook.  Stay connected with the Community Connections & How-To Videos from the Microsoft Community Team. Check out the awesome content being shared there today.   Power Automate Community Blog: Over the years, more than 700 Power Automate Community Blog articles have been written and published by our thriving community. Our community members have learned some excellent tips and have keen insights on the future of process automation. In the Power Automate Community Blog, you can read the latest Power Automate-related posts from our community blog authors around the world. Let us know if you'd like to become an author and contribute your own writing — everything Power Automate-related is welcome.   Community Support: Check out and learn more about Using the Community for tips & tricks. Let us know in the Community Feedback  board if you have any questions or comments about your community experience. Again, we are so excited to welcome you to the Microsoft Power Automate community family. Whether you are brand new to the world of process automation or you are a seasoned Power Automate veteran - our goal is to shape the community to be your 'go to' for support, networking, education, inspiration and encouragement as we enjoy this adventure together.     Power Automate Community Team

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Users online (4,192)