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

How to generate a custom prefix unique ID

Hello, I would like some guidance on how to generate a unique ID that has a custom prefix when a new row is created in a MS List. I think it would be a formula of some sort but I'm not sure how to go about this.

 

The convention I'm looking for would be something like:

 

D&I-000001

D&I-000002

D&I-000003

etc

 

Any advice would be much appreciated.

16 REPLIES 16
DamoBird365
Employee
Employee

Hi @SteCoxy 

 

I've an article on this here Unique IDs and pad a string - DamoBird365

 

Please let me know if you need any further explanation.

 

Please consider accepting my answer as a solution if it helps to solve your problem.

Cheers
Damien

Please take a look and subscribe to my YouTube Channel for more Power Platform ideas and concepts, or take a look at my website. Thanks

Hi Damien

 

Thank you for taking the time to reply to my query. 

 

I won't lie - I'm a complete novice when it comes to this kind of thing, so please forgive my ignorance here.

 

I've looked at your help guide and it appears more complex than what I'm looking for - I don't need for the function to pull any data from any other column for the prefix. 

 

I simply need every time a new row is created (from the form submission that is made) for the unique ID column to have the prefix starting with D&I then a hyphen and then 5 zeros, before incrementally going up by 1, 2, 3 etc:

D&I-000001

D&I-000002

D&I-000003 etc. 

 

Any ideas on what formula this would require?

HI @SteCoxy 

 

If you are creating an item in a list every time a form submission is made, you need to get the last id and increment by 1, before prepending your fixed string.  

 

In my article I use get item to get the last known ID as you need to know the last unique id before creating the next one.  Some folk use a separate list, others use the list item ID but you need to use something.

 

DamoBird365_0-1643817677879.png

I also have two columns to keep track of the running ID and the prepended ID but you could use replace() to remove your prefix to allow you to increment on the integer, it's just a bit more work.

 

DamoBird365_2-1643817763371.png

Above, assuming the column is called InvoiceID, you can add 1 on to the last number.

add(int(first(outputs(‘Get_items’)?[‘body/value’])?[‘InvoiceId’]),1)

 

You then need to pad with 0's:

concat(substring(‘00000’, 1, sub(5, length(string(outputs(‘InvoiceID’))))),outputs(‘InvoiceID’))

 

Then when you create your item, you can add 

D&I- 

alongside the output (instead of "Invoice" in the Title) from the above expression in compose.

 

DamoBird365_3-1643817957625.png

 

If this doesn't make sense, please explain where you get stuck.

 

Damien

Cheers Damien, thank you for coming back to me here. I will give this a go and see if I can figure it out. All of this, at the very least, is certainly helping to improve my knowledge and skill base 

SteCoxy
Frequent Visitor

Hi Damien, again, please excuse my ignorence here - particularly if your solution covers exactly this, but something that's just come into my head is: does this have logic involved to reduce the number of zeros when it gets to 9, 99, 999 etc as below:

D&I-000001

...

D&I-000009

D&I-000010 rather than

D&I-0000010

SteCoxy
Frequent Visitor

Also, does it matter if I wish to create this based upon the system column called ID (read only), that autopopulates the cell incrementally: 1, 2, 3, 4 etc:

 

Screenshot 2022-02-03 at 15.46.08.png

Hi @SteCoxy 

 

Yes, that is what length and substring do, let me explain.

 

concat(substring(‘00000’, 1, sub(5, length(string(outputs(‘InvoiceID’))))),outputs(‘InvoiceID’))

 

This will concatenate upto 5 0's based on the substring starting at position 1, and ending at length of the invoice ID.

 

Therefore if invoiceID is 123, it is length 3.  The substring of 00000 from position 1 to 3 is 00 and concat the two, you get 00123.

 

Try the following in a compose:

concat('ABCD-',substring('00000', 1, sub(5, length('123'))),'123')

 

DamoBird365_1-1643903770225.png

 

You could use ID of the item but there are pros/cons.  It cannot be reset.  Delete an item, you loose that ID.  You could therefore get the last known ID of an item, increment by 1, pad with 0's, and prepend the string.

 

Hope that has been useful.

 

Damien

 

Hi Damien,

 

I'm giving your solution an attempt but I'm falling at the first hurdle, sorry!

 

I'm getting an "the expression is invalid" error message, unfortunately:

 

Screenshot 2022-02-03 at 17.12.10.png

I entered the following: add(int(first(outputs(‘Get_items’)?[‘body/value’])?[‘ID’]),1)

 

I'm not sure if it helps things but this is a brand new project, so there's currently only dummy data (about 10 rows) in this MS List, so nothing in there has any valid last ID. I think what's confusing me is on your website it's based upon the Title column, but my title column is "Programme Name", so this wouldn't be suitable (as it's purely words). That's why I thought having a system generated ID column (1, 2, 3, etc) might make it easier for the string to be created, as it's based on, in effect, the row number in the list that is going up incrementally each time a new item/row is created. 

 

Sorry to be taking up your time here, but any pointers on how best to achieve this would be much appreciated.

HI @SteCoxy 

 

You'll need to get your order by in get items correct, not sure where the id 2 comes from.  If you have a column called "id 2", you will need to get the internal name.  You need to go into list settings (top right cog and list settings) and then select the column in question.  In the address bar you will see the internal name

 

DamoBird365_3-1643915924460.png

 

For the flow, this is what you are looking for:

DamoBird365_0-1643915711744.png

 

add(int(first(outputs('Get_items')?['body/value'])?['ID']),1)

concat('ABCD-',substring('00000', 1, sub(5, length(string(outputs('compose'))))),outputs('compose'))

 

Output

DamoBird365_2-1643915766129.png

 

Please consider accepting my answer as a solution if it helps to solve your problem.

Cheers
Damien

Please take a look and subscribe to my YouTube Channel for more Power Platform ideas and concepts, or take a look at my website. Thanks

SteCoxy
Frequent Visitor

Hi Damien,

 

I think I'm making inroads here, albeit slowly but surely! 

 

I've got as far as testing this out, so I've certainly made further progress than earlier, but I'm getting the following errors in the flow details:

 

 

Just to clarify also, the formula - I'm looking for this to populate in a new column called "D&I Unique ID", but is it based upon the system generated ID column? 

Screenshot 2022-02-03 at 19.50.31.png

I think I'm 3/4 there now Damien and I REALLY appreciate you helping me out. I know your patience must be getting tested to within an ounce of its limits, but I really feel like you're helping me massively to learn. 

Hi @SteCoxy 

 

Your order by in get items is showing 15?

 

It should be ID desc

 

I am glad you're learning - that's the aim of this forum for sure and hopefully you'll be able to teach others one day in return 🙂

 

Damien

 

is desc a function or do I literally just type it after ID?  

 

Also, how does it know to add this unique ID into the below column, as the formula doesn't seem to make any reference to it?

Screenshot 2022-02-04 at 09.59.29.png

DamoBird365
Employee
Employee

Hi @SteCoxy 

 

literally type

 

id desc

 

id is the column name and desc means descending, asc would be ascending. You want the top id of 1 based on descending order. 

don’t use the dynamic value for id, type the string Id.

 

Damien

 

 This is the latest error I've got after trying to test it out. 

I've had another go at this but I'm getting a different error message following testing:

 

 

 

I'm wondering if I could pick your brains again please Damien?

 

This is formula used in the first compose action: 

add(int(first(outputs('Get_items')?['body/value'])?['D&I Unique ID']),1)
 
This is the formula used in the second compose action:
concat('ABCD-',substring('00000', 1, sub(5, length(string(outputs('compose'))))),outputs('compose'))
SteCoxy
Frequent Visitor

Further to the above, I've changed the formula to: 

 

add(int(first(outputs('Get_items')?['body/value'])?['ID']),1)

 

and it now says it has been successful BUT there is no entry in the D&I Unique ID column:

 

Screenshot 2022-02-08 at 14.03.17.png

So it's not working the way I thought i.e. I was hoping that the D&I Unique Id column would populate using the ID from the system column but with a DI000001 prefix. Any ideas to point me in the right direction would be much appreciated.

Helpful resources

Announcements

Tuesday Tips: Getting Started in the Community

TUESDAY TIPS is back!   This weekly series of posts is our way of sharing helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! The original run of Tuesday Tips was a highlight of last year, and these all-new Tips will hopefully prove to be just as informative as helpful. We will cover some basics about the Community, a few "insider tips" to make your experience even better, and sharing best practices gleaned from our most active community members and Super Users. Make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   THIS WEEK: I'm Brand New! What Do I Do? The number of new community members we have each week is pretty amazing, and we are so glad to welcome all of you to the Community! You may be wondering. "What do I do? Where do I get started? Will anyone be willing to help me? What I have a question? Help!"   Let's start with this: Welcome to the low-code revolution, and more importantly, welcome to the Power Platform Community! This is a great place to start. Whether you're busy with Power Apps, getting familiar with Power Automate, engaging Copilot Studio, or building in Power Pages, there are a few key places you should check out as you begin your journey: FORUMS: The forums are THE place to ask questions, look at questions asked by other Community members—and see answers and solutions from our Super Users and other helpful people in the Community. Power Apps ForumsPower Automate ForumsCopilot Studio ForumsPower Pages Forums   NEWS & ANNOUNCEMENTS: Our News & Announcements section highlights the newest and greatest updates in the Community, news from the product team, and so much more. It’s updated a few times each week and will also help you find ways to connect with what’s going on in the ever-growing world of Power Platform. Power Apps News & AnnouncementsPower Automate News & AnnouncementsCopilot Studio News & AnnouncementsPower Pages News & Announcements   GALLERIES: The Galleries section of the Community features tons of tips and tricks, features and benefits, and more—through videos created by our Super Users, product teams, and other helpful members of the Community. Power Apps GalleriesPower Automate Galleries Copilot Studio GalleriesPower Pages Galleries BLOGS: The community blogs section is full of handy step-by-step tips from members of the Community—and some of them include detailed answers to some of the questions most frequently asked questions, as well as how they solved a problem they faced. Power Apps Community BlogPower Automate Community BlogCopilot Studio Community BlogPower Pages Community Blog POWER UP PROGRAM: If you’d like to really take a huge step forward in your journey, we recommend checking out the Power Up Program, a Microsoft-sponsored initiative that trains new Power Platform users and has been a huge success since it launched a little over a year ago. There’s a waiting list, so definitely apply soon if you’re interested! Find out more here: Microsoft Power Up Program for career switchers.   There's so much more you'll discover in your Power Platform experience, and this Community is here for YOU! We are glad you've discovered us and can't wait to see where you grow! If you're new to the Community and just getting started, make sure to give this post a kudo and introduce yourself so we can welcome you!

Super User of the Month | Drew Poggemann

As part of a new monthly feature in the Community, we are excited to share that Drew Poggemann is our featured Super User for the month of February 2024. If you've been in the Community for a while, we're sure Drew's name is familiar to you, as he is one of our most active contributors--he's been a Super User for five consecutive seasons!   Since authoring his first reply 5 years ago to his 514th solution authored, Drew has helped countless Community members with his insights and expertise. In addition to being a Super User, Drew is also a User Group leader and a Microsoft MVP. His contributions to our Super User sessions and to the new SUIT program are always welcome--as well as his sense of humor and fun-loving way of sharing what he knows with others.   When Drew is not solving problems and authoring solutions, he's busy overseeing the Solution Architecture team at HBS, specializing in application architecture and business solution strategy--something he's been doing for over 30 years. We are grateful for Drew and the amazing way he has used his talent and skills to help so many others in the Community. If you are part of the SUIT program, you got to hear some great tips from Drew at the first SUIT session--and we know he still has much more to share!You can find him in the Community and on LinkedIn. Thank you for all you do, Drew!

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. Our team will be reviewing posts using the new "Copilot Studio" label to ensure we highlight and amplify the most relevant and recent content, so you're assured of high-quality content every time you visit. If you share a post that gets featured in the curated gallery, you'll get a PM in the Community to let you know!The curated gallery is ready for you to experience now, so visit the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community. We can't wait to see what you "cook" up!    

Celebrating a New Season of Super Users with Charles Lamanna, CVP Microsoft Business Applications

February 8 was the kickoff to the 2024 Season One Super User program for Power Platform Communities, and we are thrilled to welcome back so many returning Super Users--as well as so many brand new Super Users who started their journey last fall. Our Community Super Users are the true heroes, answering questions, providing solutions, filtering spam, and so much more. The impact they make on the Communities each day is significant, and we wanted to do something special to welcome them at our first kickoff meeting of the year.   Charles Lamanna, Microsoft CVP of Business Applications, has stressed frequently how valuable our Community is to the growth and potential of Power Platform, and we are honored to share this message from him to our 2024 Season One Super Users--as well as anyone who might be interested in joining this elite group of Community members.     If you want to know more about Super Users, check out these posts for more information today:    Power Apps: What is A Super User? - Power Platform CommunityPower Automate: What is A Super User? - Power Platform Community Copilot Studio: What is A Super User? - Power Platform Community Power Pages: What is A Super User? - Power Platform Community

Super Users 2024 Season One is Here!

   We are excited to announce the first season of our 2024 Super Users is here! Our kickoff to the new year welcomes many returning Super Users and several new faces, and it's always exciting to see the impact these incredible individuals will have on the Community in 2024! We are so grateful for the daily difference they make in the Community already and know they will keep staying engaged and excited for all that will happen this year.   How to Spot a Super User in the Community:Have you ever written a post or asked for help in the Community and had it answered by a user with the Super User icon next to their name? It means you have found the actual, real-life superheroes of the Power Platform Community! Super Users are our heroes because of the way they consistently make a difference in the Community. Our amazing Super Users help keep the Community a safe place by flagging spam and letting the Community Managers know about issues. They also make the Community a great place to find answers, because they are often the first to offer solutions and get clarity on questions. Finally, Super Users share valuable insights on ways to keep the Community growing, engaging, and looking ahead!We are honored to reveal the new badges for this season of Super Users! Congratulations to all the new and returning Super Users!     To better answer the question "What is a Super User?" please check out this article: Power Apps: What is A Super User? - Power Platform CommunityPower Automate: What is A Super User? - Power Platform Community Copilot Studio: What is A Super User? - Power Platform Community Power Pages: What is A Super User? - Power Platform Community

Microsoft Power Platform | 2024 Release Wave 1 Plan

Check out the latest Microsoft Power Platform release plans for 2024!   We have a whole host of exciting new features to help you be more productive, enhance delegation, run automated testing, build responsive pages, and so much more.    Click the links below to see not only our forthcoming releases, but to also try out some of the new features that have recently been released to market across:     Power Apps  Power Automate  Copilot Studio   We can’t wait to share with you all the upcoming releases that will help take your Power Platform experience to the next level!    Check out the entire Release Wave: Power Platform Complete Release Planner 

Users online (4,935)