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

Extract content from a loop within a loop

I have a flow that uses an AI Builder model to read incoming purchase order PDF's and write them as lines in an Excel sheet.

 

For this, the PDF's are split into individual pages.

 

I want to end up with an Excel file per PO, named with the PO.

 

My flow is set up like this:

Screenshot 2021-07-27 at 08.41.20.png

 

My issue is the final rename step.

 

I want to rename with the PO number, as extracted from the individual pages of the PDF.

 

However, this dynamic content is not available outside of the loop(s).

 

I guess I could rename inside of the loop, but I imagine it's bad practice to rename the same file over and over again? As 1 PDF = 1 PO it would make sense to only rename the file once, at the end.

1 ACCEPTED SOLUTION

Accepted Solutions
eliotcole
Power Participant
Power Participant

OK, if I'm reading you right, I think you need to just extract the PO Number at the right time.

 

Simply put, I think you should grab the data as a variable, and use that after the loop.

 

---

 

In Slightly More Detail

I would just say that you should Initialize variable, and make it string variable:

poIdVAR

It is string variable to account for input errors, but if it matters for later, you can convert it.

 

Then Set variable in the loop.

 

Explanation

So, I would assume from how you've phrased things that the purchase order number is either;

  • defined on every PDF split document that is created,
  • or it's listed as a form values that is on each split pages.

 

If this is the case, and the value doesn't change, then it won't hurt to just grab it on each pass.

 

However, if it is only defined on the first page, then you should just add a condition to check for it. Then if it is not present, the flow won't try to define it.

 

This means that once the many loops are done, you can take the variable name and apply it to whatever files, folders, worksheets, etc, that you like. 🙂

 

I can't really get much more detailed, or push out an example flow, because your process seems quite in-depth, there.

 

---

 

Hope this helps, but if not, I'm probably at a loss, mate, sorry.

View solution in original post

7 REPLIES 7
eliotcole
Power Participant
Power Participant

Sorry, @AlexMB , I'm a bit confused by the explanation, you say you want it to create an excel file per PO (purchase order, I presume) with the PO number as the filename.

 

That's great, it sounds like that's for the looped loop.

 

However, then you say you're renaming the file over and over, this is where I am getting confused. Sorry.

 

Again, apologies, I'm not asking as a 'gotcha' or anything, I just don't understand. 😅

 

Separately to all of that ... is there a reason that the original files need to be excel?

Thanks for you reply @eliotcole , and sorry for phrasing my self poorly.

 

I'll try to elaborate.

 

Each PDF is a separate PO and there will only ever be one PDF per PO. Meaning one flow = one PDF = one PO.

 

As AI Builder can't read multipage tables (yet) I have to resort to splitting the PDF into individual pages.

 

Again, every page is the same PO.

 

I then add each line from each PDF to the same Excel sheet.

 

Every line is still the same PO.

 

Now, if I rename my Excel inside the loop, it will rename the same file with the same name (PO number) over and over again for each repetition of the loop.

 

Is this fine to do it this way? A PDF might have 10 pages. Maybe I'm making problems out of nothing. But I just felt it would be more neat to rename the file once, after the flow is done.

 

The reason for needing Excel files is we can read these automatically into our ERP. We can't do that with PDF's.

eliotcole
Power Participant
Power Participant

OK, that's good to know (sorry about the delay).

 

I don't yet have a solution (and might not get one! 😅) but your flow indicates that the data on the PDF is PDF form data.

 

Did you know that the encodian connector has form data extraction?

Encodian - Connectors | Microsoft Docs

Get PDF Form Data – Encodian Customer Help

 

It looks like it will likely present the whole data as a single JSON object.

 

It's not even premium, apparently (but does need an Encodian account, I think).

 

Oh, and one question, could you tell me who you use for your ERP?

eliotcole
Power Participant
Power Participant

OK, if I'm reading you right, I think you need to just extract the PO Number at the right time.

 

Simply put, I think you should grab the data as a variable, and use that after the loop.

 

---

 

In Slightly More Detail

I would just say that you should Initialize variable, and make it string variable:

poIdVAR

It is string variable to account for input errors, but if it matters for later, you can convert it.

 

Then Set variable in the loop.

 

Explanation

So, I would assume from how you've phrased things that the purchase order number is either;

  • defined on every PDF split document that is created,
  • or it's listed as a form values that is on each split pages.

 

If this is the case, and the value doesn't change, then it won't hurt to just grab it on each pass.

 

However, if it is only defined on the first page, then you should just add a condition to check for it. Then if it is not present, the flow won't try to define it.

 

This means that once the many loops are done, you can take the variable name and apply it to whatever files, folders, worksheets, etc, that you like. 🙂

 

I can't really get much more detailed, or push out an example flow, because your process seems quite in-depth, there.

 

---

 

Hope this helps, but if not, I'm probably at a loss, mate, sorry.

View solution in original post

AlexMB
Helper I
Helper I

Man, that solution was staring me right in the face.

 

Of course you are right.

 

Since the PO is the same within every loop I can just write it to a variable and then use that variable outside the loop.

 

I just tested and it works. Thanks so much for your help and for getting back to me on this!

eliotcole
Power Participant
Power Participant

No probs, mate!

 

It wasn't just a simple thought process for me, either, though, mate. So don't worry about stuff staring you in the face.

 

Lemme put it another way ... I could never do algebra at school, so I just guestimated numbers, and kept trying until they fit in the formulas.

 

Much of this is trial and error, but some things become muscle memory. The only thing I can advise is, start using variables for everything. 😉

Yeah, as is probably evident I'm still on the lower part of the learning curve here. 😄

 

I am definitely seeing a pattern, that variables are the solution to many things here on the board. I've just had a different question on here, where the solution was again to use variables, where I was relying on Dynamic Content.

 

I will adjust my approach accordingly. Thanks again for taking the time to help out!

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Users online (1,836)