People sometimes run into Managed Metadata Taxonomy fields that show hash signs, semi-colons, numbers; what gives?
What you are seeing, for example in a datasheet view, is a reflection of the internal representation of Taxonomy fields in SharePoint, which admittedly is a bit quirky to show users. It’s our call as solution designers whether to recommend or even expose Datasheet view for end-users.
The small numbers you see associated with metadata fields in datasheet view is the order in which the field value was referenced and first used in your site collection.
Each taxonomy tag is stored internally as three values in one run-on string, with the ;# separating them, and can be seen with debugging tools in a hidden list stored in the root of each site collection:
- An internal reference number that is generated and tracked separately within each site collection. Each tag used has a reference number that is going to be different from the same tag in a different site collection
The text name
- The text name in a language (1033=U.S. English)
- A GUID (really long statistically unique identifier) that maps to the same value stored centrally in a Managed Metadata Database associated with the Managed Metadata Service
The reason for the internal reference number is for SharePoint’s scalability. A Taxonomy could have a million values, and the Managed Metadata Service housing this Taxonomy could have thousands of site collections using this Taxonomy. To avoid a massive bottleneck for Taxonomy lookups, the taxonomy values in use are cached, and every reference to a value carries the small identifier that allows the field to be resolved and referenced without leaving the site collection, avoiding heavy load on the central Managed Metadata Service.
The hidden list is called “TaxonomyHiddenList” stored in the root web of the site collection; it’s not visible in the browser. To see it, try the CodePlex solution called SharePoint Manager” and navigate to the Site Collection.
To learn more about manipulating taxonomies in PowerShell, please see this MSDN article.