I am trying to standardize the Attribute names in a bulk fashion on a very large model. Is there a macro that will; allow for this?
I can't use the Naming Standard Utility as the physical names do not always have all the words that are included in the Attribute name.
I have tried using the Universal Naming Utility, but as the model has almost 50,000 attributes it runs very slow.
Probably depends on how you envision original/new names are to be specified. Will this 'rename' be exact match only? IOW a 2 column list where one column matches an attribute name entirely, irrespective of model, schema .... replaced by the content of the other column or if it's some level of complexity above that such as only for certain sub-models or schemas etc.
From a performance standpoint it might make a difference how big the list of replacements is and how many updates per input row you expect. I'd probably approach changing a couple names appearing on several hundred tables differently from several hundred names each appearing on a couple tables differently because the best performance may call for loops constructed in opposite orders.
Some attribute names will have a case change only and others will have changes in from abbreviated words to unabbreviated words. (i.e. paid to Paid; pd to paid). Some attributes only occur in one table and others in could be in 50 tables.
It sounds like the Naming Standards Utility would be your best bet. The Naming Standards Utility can change the case as well as 'unabbreviate' word segments when going from Physical to Logical (as long as you have those words in a Naming Standards Template). If you're trying to standardize, would it matter that you might lose a segment that didn't exist in the Physical - I'm assuming the Physical name would have the most critical segments in it. If that is a problem, you could at least use the Naming Utility to change the ones that aren't missing words in the Physical. It will be a somewhat tedious task to exclude the others, but you would likely have to have some special handling no matter what mechanism you use. I doubt you would be able to create a macro that would understand how to convert those names that are missing segments as well.