cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Rebecca7
Helper I
Helper I

Microsoft Forms + Flow + Power BI

Good Morning, everyone!

I created a flow that takes the questions from a form and updates them in a Power BI.

However, I would need to cross this information with two other tables. I've been reading and understood that it is not possible to make relationships between tables and streaming data.

So I thought about doing this crossing of some in Microsoft Flow. Would it be possible to change the response value of the form according to the table (excel spreadsheet) before sending it to Power BI?

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions

@Rebecca7 

I'm afraid there was a misunderstanding.

On 'List rows present in a table' 'Filter query you need to add an ODATA expression.

If you are not familiar with ODATA filters you will find a great tutorial here

https://mydevexperience.wordpress.com/2019/09/25/microsoft-flow-excel-list-rows-present-in-a-table/

 

Now, on your PowerBI action block you need to add WDL expressions. THe reason is, even though you declare the filter to obtain a single excel row, 'List rows present in a table' output will still be an array.

So let's assume you have an Excel column called 'LojaName'

You can assign the value stored on Excel 'LojaName' column for the row you identified by means of your ODATA expression to the corresponding Power BI action block input by using the following WDL expression:

first(body('Listar_linhas_presentes_em_uma_tabela')?['value'])?['LojaName']

 

Hope this makes sense



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



View solution in original post

15 REPLIES 15
efialttes
Super User
Super User

@Rebecca7 

I would say yes, but... can you share a screenshot from your current Flow design so we can understand better how the procedure you are following to update data in power BI?

Thanx!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Of Course

 

Capturar.PNG

 

Sorry about the language, I couldn't switch to English... But the first and second step is to capture the data in Microsoft Forms when a new response is sent and the third is to add lines to a data set in Power BI. What I was thinking was to add a step before Power BI that does the data transformation (correlate the IDs with the names) using a table in Excel

Hi again!

No problema... I think it is possible to add an intermediate step, but... can you expand your last step (just doubleclick on it) and share its content in a new screenshot? THis way we can understand better current data structure you are sharing

Thanx!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Here it is

 

Capturar2.PNG

Hi again!

So if you mean manipulate the value of any of current inputs you are assigning to "Re do Supervisor", "Identificacao da Loja", "Tamanho da loja", "Classificacao de risco" "Analise the risco pendente", "Balaclava" by evaluating also other data sources Power Automate can read in real time (Sharepoint, Excel stored in OneDrive4Business, CDS...) the answer is yes.

 

Let's assume for example the survey answer has "Low" as the value of "Classificacao de risco" for a certain Shop whose "Identificacao da Loja" is "SHOP#A007". Let's also assume you have a Sharepoint List with one entry per "Identificacao da Loja", and this Sharepoint list stores some additional information that combined with the "Low" value from the Survey answer provides the final value that shall be populated to Power BI. Such manipulations can be added easily.

 

Not sure if this answers your question... as soon as you provide a specific manipulation use case we can suggest a specific implementation approach

 

Hope this helps

If you can provide a specific use case



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Hello! That's exactly what I need.
I have two fields "RE do Supervisor" and "Identificação Loja". Both are codes and I'd like to relate those codes to names. The table containing the names (and the IDs) are in an Excel on One Drive.

@Rebecca7 

Good news! So if you have table with names and IDs in excel you can read them from your Power Automate flow. assuming you format them as tables in your excel (which I believe you currently do, right?)

One final question... Do you mean 'OneDrive' or 'OneDrive4 Business'?

If 'One Drive', you should use 'Excel Online (OneDrive)' connector, then add action block 'List rows present in a table'

If 'OneDrive4Business, you should use 'Excel Online (Business)' connector, then add action block 'List rows present in a table'

 

Now with such action block you will read the whole excel table as an array with n elements, each element is a row represented as an object, so... you need to filter the results to get the row you are looking for. Both action blocks offer you the option to assign an ODATA filter expression to 'Filter Query' input. If you are not familiar with ODATA filters you will find a great tutorial here

https://mydevexperience.wordpress.com/2019/09/25/microsoft-flow-excel-list-rows-present-in-a-table/

 

Even though you declare the filter to obtain a single excel row, 'List rows present in a table' output will still be an array.

In order to read its only element you can use the following WDL expression:

first(body('List_rows_present_in_a_table')?['value'])

Now you have the matching row as an object, let's assume you have an Excel column called 'LojaName'

You can get this piece of info by using the following WDL expression:

first(body('List_rows_present_in_a_table')?['value'])?['LojaName']

 

If you are not familiar with WDL expressions, please follow the steps detailed here:

https://flow.microsoft.com/es-es/blog/use-expressions-in-actions/

Finally, if you have more than 2048 rows in your table, you need to activate pagination

https://powerusers.microsoft.com/t5/Connecting-To-Data/Excel-Business-List-rows-present-in-a-table-2...

 

Please let us know your progress, if you find any blocking issue, do not hesitate to share a screenshow from your new flow design

Thanx!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Hello!
That block should be before the Power BI block, right? How does the addition of extra information in Power BI occur?

Hi!

You are right, you need to read the excel table by means of ' List rows present in a table' before invoking PowerBI. You can use suggested expression (just replace column name with yours) as the input to the corresponding Power BI table column

Please try it and let us know your progress



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Hi! I'm following your suggestion:

 

Capturar.PNG1.PNG

However, I'm facing some problems:

 

It was not possible to validate the model: 'The property 'inputs' of the action of the model 'List_gift_lines_in_tabular' in line '1' and column '1969' is not valid. The action cannot reference itself'.

 

Do you have any clue of what is going on? I'm sorry if I should be able to work it out on my own, it's just that I'm really a beginner in the tool

 

Best Regards!

 

R.

 

@Rebecca7 

FRom the last screenshot shared, it seems your current design is reading all Excel rows and iterating all throught them, so you are invoking Power BI N times, one per Excel row.

 

My understanding from previous posts is that you just want to invoke Power BI once, with data from the excel row matching your input, right?

 

Finally, can you share the expression you have assigned to 'List rows present in a table' 'Consulta de filtro'? It does not look like an ODATA expressionbut an WDL expression ... and you definitely need an ODATA expression as its input, in order to filter the target row you need. If you are not familiar with ODATA filters you will find a great tutorial here

https://mydevexperience.wordpress.com/2019/09/25/microsoft-flow-excel-list-rows-present-in-a-table/

Thanx!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Hello!
What I'd like to do is take the Microsoft Forms answer, relate it to the Excel table and put it in Power BI. (Ex: If the person puts in Store ID "00123", I would like to take the name of that store (according to the ID) in Excel and insert the name information in Power BI).
the expression I assign to 'Listar linhas presentes em uma tabela' 'Consulta de filtro' was the one you passed me previously but I think it takes only a pre-determined value isn't it? It would need to be variable according to the answer on the form.

@Rebecca7 

I'm afraid there was a misunderstanding.

On 'List rows present in a table' 'Filter query you need to add an ODATA expression.

If you are not familiar with ODATA filters you will find a great tutorial here

https://mydevexperience.wordpress.com/2019/09/25/microsoft-flow-excel-list-rows-present-in-a-table/

 

Now, on your PowerBI action block you need to add WDL expressions. THe reason is, even though you declare the filter to obtain a single excel row, 'List rows present in a table' output will still be an array.

So let's assume you have an Excel column called 'LojaName'

You can assign the value stored on Excel 'LojaName' column for the row you identified by means of your ODATA expression to the corresponding Power BI action block input by using the following WDL expression:

first(body('Listar_linhas_presentes_em_uma_tabela')?['value'])?['LojaName']

 

Hope this makes sense



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Excuse me!

This whole time I misunderstood what you were explaining. I have now followed your directions correctly and I am now I got it ! Look:

I created a variable to call the store ID.

Capturar1.PNG

Then I put this variable inside my expression ODATA

 

2.PNG

 

 

Then I put the expression WDL in my Power BI

 

3.PNG

 

Thank you for your help and for your patience as well 🙂

@Rebecca7 

Did you finally overcome your challenge? CONGRATS!

Thanx also for marking this topic as "Solved" and sharing a screenshot from your final design. THis way other members of the community facing a similar problem can find a solution faster!

 

Thanx for your help making this community great!



Each time you click on any of our inspiring answers 'Thumb up' icon...
...an ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!


Escribo sobre Power Automate en:
https://medium.com/anyone-can-automate/

Proud to be a Flownaut!



Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

Power Automate Designer Feedback_carousel.jpg

Help make Flow Design easier

Are you new to designing flows? What is your biggest struggle with Power Automate Designer? Help us make it more user friendly!

Top Solution Authors
Top Kudoed Authors
Users online (4,635)