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!
Solved! Go to Solution.
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
Proud to be a Flownaut!
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!
Proud to be a Flownaut!
Of Course
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!
Proud to be a Flownaut!
Here it is
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
Proud to be a Flownaut!
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
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!
Proud to be a Flownaut!
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
Proud to be a Flownaut!
Hi! I'm following your suggestion:
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.
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!
Proud to be a Flownaut!
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
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.
Then I put this variable inside my expression ODATA
Then I put the expression WDL in my Power BI
Thank you for your help and for your patience as well 🙂
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!
Proud to be a Flownaut!
The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.
Learn to digitize and optimize business processes and connect all your applications to share data in real time.
User | Count |
---|---|
30 | |
30 | |
29 | |
21 | |
11 |