cancel
Showing results for
Did you mean:
Helper II

## Manually Generating UniqueId Key Values, or how is it generated, use __PowerAppsId__?

My spreadsheets all have generated a Unique_ID with following formula.

`  =DEC2HEX(RANDBETWEEN(0,4294967295),8)`

But in powerapps it only has the RAND () function.

How to generate unique_Id as the formula =DEC2HEX(RANDBETWEEN(0,4294967295),8) - in Excel it works.

No need to change my environment and application.

Would you have to generate UNIQUE_ID in an external environment?

Or how is the __PowerAppsId__ ID generated? What is the function?

Because even generating an extra column in my application, I could not access it in PowerApps.

1 ACCEPTED SOLUTION

Accepted Solutions
Power Apps

PowerApps doesn't have a way to (directly) convert a number into its hexadecimal form, nor has it a direct map to the RANDBETWEEN function in Excel. But there are ways around it...

For RANDBETWEEN, you can use the RoundDown and Rand functions. If you want to have an expression equivalent to

`RANDBETWEEN(low, high)`

You can use the following expression in PowerApps:

`low + RoundDown((high - low + 1) * Rand(), 0)`

For example, to get a number between 10 and 20 (inclusive), you can use this in PowerApps:

`10 + RoundDown(11 * Rand(), 0)`

PowerApps does not have an equivalent to DEC2HEX - converting arbitrary numbers to hexadecimal (you can create a new item in the PowerApps ideas board for that to be added to the backlog). We can, however, use the Mid function to convert a single-digit hexadecimal number, and we can use that to create your 8-digit random hexadecimal id:

```Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1)```

It works, but I certainly undestand that it's not pretty, so feel free to create the new feature request in the ideas board.

5 REPLIES 5
Power Apps

PowerApps doesn't have a way to (directly) convert a number into its hexadecimal form, nor has it a direct map to the RANDBETWEEN function in Excel. But there are ways around it...

For RANDBETWEEN, you can use the RoundDown and Rand functions. If you want to have an expression equivalent to

`RANDBETWEEN(low, high)`

You can use the following expression in PowerApps:

`low + RoundDown((high - low + 1) * Rand(), 0)`

For example, to get a number between 10 and 20 (inclusive), you can use this in PowerApps:

`10 + RoundDown(11 * Rand(), 0)`

PowerApps does not have an equivalent to DEC2HEX - converting arbitrary numbers to hexadecimal (you can create a new item in the PowerApps ideas board for that to be added to the backlog). We can, however, use the Mid function to convert a single-digit hexadecimal number, and we can use that to create your 8-digit random hexadecimal id:

```Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1) &
Mid("0123456789ABCDEF", 1 + RoundDown(Rand() * 16, 0), 1)```

It works, but I certainly undestand that it's not pretty, so feel free to create the new feature request in the ideas board.

how to convert hexadecimal to decimal??? @CarlosFigueira

Power Apps

There's no simple formula for that (please consider creating a new feature request in the PowerApps Ideas board for that, I'd certainly vote it up), but you can use the expression below:

```Sum(
FirstN([1,2,3,4,5,6,7,8,9,10],Len(TextInput1.Text)),
Power(16, Len(TextInput1.Text) - Value) *
(Find(Mid(TextInput1.Text, Value, 1), "0123456789ABCDEF") - 1))```

This will work for hexadecimal numbers of up to 10 digits (if you want more, you can increase the table size in the FirstN function), for upper-case digits A-F only (if you also want to support lowercase ones, use the Upper function to convert the text to uppercase), and for valid values (if you have invalid characters - i.e., those outside of the [0-9][A-F] range - then it will give you an incorrect result).

The idea behind that formula is to take the input, break it down in individual characters, and multiply their value by the corresponding power of 16. The attached app shows this expression in action, feel free to download it and play around with it to learn more.

Great! @CarlosFigueira thanks and when find free time will post the idea!
Anonymous
Not applicable

Hi, do yall know how to generate a unique id like a,b,c once button is clicked.

The delivery id generated will be used in another sharepoint list.

The id column used is Delivery_ID.

How to amend the codes below? Thanks.

SendEmailv2.Run(JSON(colOrderItems));

// insert new row for each product into SharePoint list
ForAll(
colOrderItems,
Patch(
OrderList,
Defaults(OrderList), {
Memory: Memory,
Storage: Storage,
Title: Title,
Quantity: Value(Quantity),
Price: Value(Price),
'TotalPrice (TotalPrice0)': TotalPrice,
Image: Image,
Dept: Dept,
Division: Division,
DeliverLocation: DeliverLocation,
'28ByteCode': '28 Byte Code',
Product: ProductFinal,
Processor: Processor,
Remarks: Remarks
}
)
);

Announcements

#### December 2023 User Group Update: Welcoming New Groups and Upcoming Events

A new month means it's time to celebrate and welcome the new user groups that have joined our community. We are excited to announce that we have more than 8 New Groups, which is no surprise after the amazing Microsoft Power Platform Conference. This month, we are breaking them out by the different community categories. If your group is listed here, give this post a kudo so we can celebrate with you! Don't forget to take a look at the many events happening near you or virtually! It's a great time of year to connect and engage with User Groups both locally and online.   Please Welcome Our NEW User Groups   Power Platform: PowerIT User Group: Nottingham Power Platform User Group: Bergen Power Platform User Group: Danmark Nashville Power Platform User Group Microsoft Ambassador Program y Mujer Latina Technolochicas NCWIT Community Copilot Studio:  Copilot User Group Italia Dynamics365: Dynamics User Group AdriaticDynamic 365 Azerbaijan   December User Group Events   01 Dec 2023 Aprendiendo Desarrollo web, creando mi primer power app y power page. 01 Dec 2023 Q4 Hybrid Philadelphia Dynamics 365 & Power Platform User Group Meeting05 Dec 2023APAC Dynamics 365 FastTrack Bootcamp - BI and Analytics07 Dec 2023Bay Area Power Platform Meetup: Learn, Share, and Connect07 Dec 2023Indiana D365/AX December User Group Meeting07 Dec 2023Dynamics User Group Meeting: Houston09 Dec 2023 December '23 - NEW Power Apps User Group Meeting - Online 12 Dec 2023December Cleveland Power Platform User Group Meeting12 Dec 2023 RW2 Data Stewardship Open Forum Discussion 13 Dec 2023  Black Country Power Platform User Group - December 2023 - West Midlands