I have numbers feature class and subtypes.
Each subtype have separate Asset Code Range in excel sheet attached here.
Starting the FloorID is second Level below ground floor(B2) up to Sixth Floor(F6).
Floor ID_Domain Code in below.
Example : See In How to give the UniqueID For Each Subtype excel sheet.
I'm having a little trouble understanding if you are trying to create a new unique id for the unique combination of the four fields (subtypcd, floor_id_code, floor_id_full_name, asset_id), or if you are trying to create the field ASSET_ID based on the unique combination of the other three.
Can you make it a bit clearer on what data you currently have, and what field you are trying to populate? I'm thinking others might be confused too, and that may be why you haven't received any responses yet.
it would also help to know if this is a feature class in a FGDB or a SQL or Oracle database, or other. It might not matter, but would not hurt to include that info. Also, are you trying to automate this with Python code, Model builder, Field-calculator or a different process.
If you have already tried some code in python or some other method, it would also help if you say what you have tried to give others a starting point. This might prompt more responses.
Below the Example give two subtype and range code. How to create the Unique_ID for Range code and each subtypes.
|Riser Down Fitting||a52804280001|
|Riser Up Fitting||a52804290001|
|Object_ID||Subtypes||Floor_ID||How To Create Unique_ID for (Asset_ID Field)|
|1||Riser Up Fitting||Second Level below ground floor||a52804290001|
|2||Riser Up Fitting||Second Level below ground floor||a52804290002|
|3||Riser Up Fitting||First Level below ground floor||a52804290003|
|4||Riser Up Fitting||First Level below ground floor||a52804290004|
|5||Riser Up Fitting||Ground Floor||a52804290005|
|6||Riser Up Fitting||Ground Floor||a52804290006|
|7||Riser Up Fitting||First Floor||a52804290007|
|8||Riser Up Fitting||First Floor||a52804290008|
|9||Riser Up Fitting||First Floor||a52804290009|
|10||Riser Up Fitting||Second Floor||a52804290010|
|11||Riser Up Fitting||Second Floor||a52804290011|
|12||Riser Up Fitting||Second Floor||a52804290012|
|13||Riser Up Fitting||Third Floor||a52804290013|
|14||Riser Up Fitting||Third Floor||a52804290014|
|15||Riser Up Fitting||Third Floor||a52804290015|
|16||Riser Up Fitting||Fourth Floor||a52804290016|
|17||Riser Up Fitting||Fifth Floor||a52804290017|
|18||Riser Up Fitting||Fifth Floor||a52804290018|
|19||Riser Up Fitting||Fifth Floor||a52804290019|
|20||Riser Up Fitting||Sixth Floor||a52804290020|
|21||Riser Up Fitting||Sixth Floor||a52804290021|
|22||Riser Up Fitting||Sixth Floor||a52804290022|
|23||Riser Down Fitting||Second Level below ground floor||a52804280001|
|24||Riser Down Fitting||Second Level below ground floor||a52804280002|
|25||Riser Down Fitting||First Level below ground floor||a52804280003|
|26||Riser Down Fitting||First Level below ground floor||a52804280004|
|27||Riser Down Fitting||Ground Floor||a52804280005|
|28||Riser Down Fitting||Ground Floor||a52804280006|
|29||Riser Down Fitting||First Floor||a52804280007|
|30||Riser Down Fitting||First Floor||a52804280008|
|31||Riser Down Fitting||First Floor||a52804280009|
|32||Riser Down Fitting||Second Floor||a52804280010|
|33||Riser Down Fitting||Second Floor||a52804280011|
|34||Riser Down Fitting||Second Floor||a52804280012|
|35||Riser Down Fitting||Third Floor||a52804280013|
|36||Riser Down Fitting||Third Floor||a52804280014|
|37||Riser Down Fitting||Third Floor||a52804280015|
|38||Riser Down Fitting||Fourth Floor||a52804280016|
|39||Riser Down Fitting||Fifth Floor||a52804280017|
|40||Riser Down Fitting||Fifth Floor||a52804280018|
|41||Riser Down Fitting||Fifth Floor||a52804280019|
|42||Riser Down Fitting||Sixth Floor||a52804280020|
|43||Riser Down Fitting||Sixth Floor||a52804280021|
|44||Riser Down Fitting||Sixth Floor||a52804280022|
|45||Riser Down Fitting||Sixth Floor||a52804280023|
The attribute assistant add-in has a method with which you can do this: Generate ID ( All methods - Attribute Assistant | ArcGIS Solutions ) You need to set up a sequence table ( Configure GenerateID table - Attribute Assistant | ArcGIS Solutions ). In your case you'd need to trigger it with an IIF statement or series of IIF statements. If your data is in a versioned enterprise geodatabase, the deployment of this method can be a little tricky.
Just as a FYI, We just ran across a similar thing on a support case and I wanted to share this as it might help.
Attached is working sample and proof of concept to assist in your own workflows.
We know a Generate ID method can only have one count per field, Given this, this example uses a Sub-type field, and 3 Separate Id fields each with their own Generate ID Methods. The Sybtype filed is responsible for setting the attribute (1,2,3) in The Sybtype. A series of Field Trigger reads the Subtype value and adds a place holder value in the opposing ID fields. The Generate ID running on each ID field will only activate on the Null record and thus count each subtype independently.