cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
jwhk
Helper III
Helper III

Combine Two DAX Queries into One CSV Table, and Later Multiple CSV Tables into Different Worksheets in One Excel File

Dear Microsoft Power Automate Community,

 

Refer to the attached screenshot, I have created a flow to run the recurrence on three (3) Scopes that will run DAX queries on the same Power BI dataset. However, I have the following queries for the next steps:

 

1) How to combine two (2) DAX queries into one (1) single CSV table? Should I use "first table rows" or "output" from Create CSV Table? Or should I use Compose/Select then use "Union" function to join them?

 

2) With the generated CSV tables, how to combine these CSV tables into three (3) different Worksheets in one (1) single Excel file?

 

I have tried to google-ed the answers from this forum (such as the link below), but I still can't understand how to do it yet.

 

Combine Multiple CSV tables into one file - Power Platform Community (microsoft.com)

 

Much appreciated for your advise.

73 REPLIES 73

Hi @v-yueyun-msft,

 

Thanks for your reply again.

 

Could you guide me how to put two csv left and right?

 

The number of rows for these two csv can change from time to time. Can we set the allowed maximum rows? Can you show me how to run this on "Append to string variable" action?

 

Right now, I have the following DAX query for the table that I would like to change the 'PVXJD PITTRA'[Date] and 'PVXJD PITTRA'[Delivery No] columns to [Date] and [Delivery No]. Do you know where shall I put the following two statements in the DAX query?

 

 "Date", 'PVXJD PITTRA'[Date],

 "Delivery No.", 'PVXJD PITTRA'[Delivery No],

 

jwhk_0-1707288492709.png

 

HI , @jwhk 

Thanks for your response! I create a test flow in my side and this is the result :

vyueyunmsft_0-1707290298538.png

This is my test flow:

vyueyunmsft_1-1707290343384.png

(1)The condition is used to judge which query return more rows data:

vyueyunmsft_2-1707290487910.png

And you need to see my action name in this screenshot! Below the "Run a query against a dataset" action is "Create csv table 2"! You need to replace the action name in the below expression!

 

length(outputs('Run_a_query_against_a_dataset')?['body/firstTableRows'])
length(outputs('Run_a_query_against_a_dataset_2')?['body/firstTableRows'])
 
(2)In "If yes":
vyueyunmsft_3-1707290607808.png
range(0, length(outputs('Run_a_query_against_a_dataset')?['body/firstTableRows']))
 
concat(split(body('Create_CSV_table_2'), decodeUriComponent('%0D%0A'))?[item()], ',,,', split(body('Create_CSV_table'), decodeUriComponent('%0D%0A'))?[item()])
 
decodeUriComponent('%0D%0A')
 
(3)In "If no" is similar:
vyueyunmsft_4-1707290686625.png
range( 0 , length(outputs('Run_a_query_against_a_dataset_2')?['body/firstTableRows']) )
 
concat( split(body('Create_CSV_table'),decodeUriComponent('%0D%0A'))?[item()] , ',,,' , split(body('Create_CSV_table_2'),decodeUriComponent('%0D%0A'))?[item()] )
 
decodeUriComponent('%0D%0A')
 

If this reply can help you , you can click mark this reply as solution (Accept solution) which can help more people, thanks in advance! 

 

Best Regards,

Yueyun Zhang

 

Hi @v-yueyun-msft,

 

For "Sorry, something went wrong." error, I prefer to continue creating the csv file if the array is blank because eventually, I want to create a single Excel file that will put all the csv files (included blank csv files) in different Worksheets. 

 

If you refer to my previous message, I could open some blank csv files, but not the one created from "Create file 10" action. I also showed you the comparison of "Create file 10" action and "Create file 4" action, where "Create file 10" action has the Size value of 0 and "Create file 4" action has Size value of 4. The result is I could open the blank csv file created by "Create file 4" action, but not the blank csv file from "Create file 10" action.

 

Do you think this Size value of 0 is the root cause of "Sorry, something went wrong." error? Is it possible to allow the blank array to create a blank csv file that can be opened or added into the Worksheet of Excel file?

Hi @v-yueyun-msft,

 

For two csv left and right, I tried to follow your steps, but encountered the following error. Is it because the missing parameters in Condition and Select actions as highlighted in yellow?

 

The input parameter(s) of operation "xyz" contains invalid expression(s). Fix invalid expression(s) for the input parameter(s) of operation "xyz".

jwhk_0-1707367235599.png

Note: I have removed "Initialize variable" and "Append to string variable" actions from this flow this time.

Hi , @jwhk 

You need to click here and then put the expression :

vyueyunmsft_0-1707369599482.png

 

 

Best Regards,

Yueyun Zhang

Hi @v-yueyun-msft,

 

Thanks for your reply.

 

I still didn't get it.

 

Just now I checked the Youtube video, and saw they put the expression at "Enter Value" box and a text in "Enter Key" box (refer to the screenshot below).

jwhk_1-1707370185404.png

The icon you highlighted in your screenshot is "Switch to key value mode" which will show the "Enter key" and "Enter value" box. If I click the icon of "Switch to text mode", it will show the text box like the screenshot below.

 

jwhk_2-1707370350735.png

Could you guide me what is the proper way to configure this "Select" action?

 

Hi, @jwhk 

Sure , you can just delete this in this mode.

vyueyunmsft_0-1707370474468.png

 

 

Best Regards,

Yueyun Zhang

Hi @v-yueyun-msft,

 

Oh I see. I managed to put the following expression in "Map" box now.

 

concat(split(body('Create_CSV_table_2b')), decodeUriComponent('%0D%0A'))?[item()], ',,,', split(body('Create_CSV_table_2a'), decodeUriComponent('%0D%0A'))?[item()])

 

jwhk_0-1707370701931.png

 

The expression I put in "From" box is as below.

 

range(0,length(outputs('Run_a_query_against_a_dataset_2a')?['body/firstTableRows']))

 

And this time I'm trying to troubleshoot the expression error by putting one action and save it immediately. So after I put "Select 1a" action, and saved it, I still having the expression error. So I believe it must be something wrong with the expressions I mentioned above. Do you know what's wrong with these 2 expressions?

jwhk_1-1707370858998.png

 

Hi , @jwhk 

What is your concat(xxxxxx) function?

The range(xxx) seems has no error. And what the error code in your side?

 

Best Regards,

Yueyun Zhang

 

Hi @v-yueyun-msft,

 

Sorry I copied and pasted the wrong expression for "Map" box and I have corrected it (in my previous message).


Here's the concat( ) function I used:

 

concat(split(body('Create_CSV_table_2b')), decodeUriComponent('%0D%0A'))?[item()], ',,,', split(body('Create_CSV_table_2a'), decodeUriComponent('%0D%0A'))?[item()])

Hi , @jwhk 

What's the error code in your side ? And can you show the expression used in the condition?

vyueyunmsft_0-1707371587562.png

 

 

Best Regards,

Yueyun Zhang

Hi @v-yueyun-msft,

 

I found the root cause of the error. I put extra ")" in the expression. 😛

 

concat(split(body('Create_CSV_table_2b')), decodeUriComponent('%0D%0A'))?[item()], ',,,', split(body('Create_CSV_table_2a'), decodeUriComponent('%0D%0A'))?[item()])

Hi @v-yueyun-msft,

 

I encountered the following Action 'Join_2b" failed error while trying to run the test flow.

 

InvalidTemplate. Unable to process template language expressions in action 'Join_2b' inputs at line '0' and column '0': 'Deserialized JSON type 'Newtonsoft.Json.Linq.JObject' is not compatible with expected type 'Newtonsoft.Json.Linq.JArray'. Path 'from'.'.

 

jwhk_1-1707372644155.png

Do you know what caused the InvalidTemplate error?

 

If you look at the latest content of csv file, the length for "Run_a_query_against_a_dataset_2b" is greater than length of "Run_a_query_against_a_dataset_2a". Hence, the condition result is "False" and the flow went to "Select 2b" and stopped at "Join 2b" action with InvalidTemplate error.

 

jwhk_0-1707373562932.png

Hi , @jwhk 

Can you show me the output of the "Join 2b" action?

 

Best Regards,

Yueyun Zhang

Hi @v-yueyun-msft,

 

The only output I could see is the InvalidTemplate error (see the screenshot below).

 

jwhk_0-1707373750737.png

 

Hi , @jwhk 

Sorry , i want to see this output , i have put the wrong word..

vyueyunmsft_0-1707373877923.png

 

 

Best Regards,

Yueyun Zhang

Hi @v-yueyun-msft,

 

Here's the Outputs of "Select 2b".

 

jwhk_0-1707374041584.png

I saw it contained the outputs of first table rows of  "Run_a_query_against_a_dataset_2a" and first table rows of "Run_a_query_against_a_dataset_2b".

jwhk_1-1707374483601.png

 

Hi , @jwhk 

This error code is strange i have not ever encountered.

Now the dataset 2b is larger than the dataset 2a, so you need to use this code in the "Select" action.

concat( split(body('Create_CSV_table_2b'),decodeUriComponent('%0D%0A'))?[item()] , ',,,' , split(body('Create_CSV_table_2a'),decodeUriComponent('%0D%0A'))?[item()] )
 
And what is the code in your Join action?
 

Best Regards,

Yueyun Zhang

 
 

Hi @v-yueyun-msft,

 

You meant use the following similar concat() expression for "Select 2b" action?

 

concat( split(body('Create_CSV_table_2b'),decodeUriComponent('%0D%0A'))?[item()] , ',,,' , split(body('Create_CSV_table_2a'),decodeUriComponent('%0D%0A'))?[item()] )

 

I tried to change "Select 2b" action with the similar concat() expression as mentioned above, but still encountered the InvalidTemplate error.

 

The length of "Run_a_query_against_a_dataset_2b" can be greater than the length of "Run_a_query_against_a_dataset_2a" in the beginning of the month, but eventually "Run_a_query_against_a_dataset_2a" will be greater than "Run_a_query_against_a_dataset_2b" towards the end of the month or vise versa.

 

The code in "Join 2b" action is:

 

From is outputs('Select_2b')

Join with is decodeUriComponent('%0D%0A')

 

jwhk_0-1707374974472.png

 

Hi , @jwhk 

Please try to use this in the Join From:

body('Your Select action name')

body('Select_2b')

vyueyunmsft_0-1707375670198.png

 

Best Regards,

Yueyun Zhang

 

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,418)