String Map table in dynamics crm that what is the benefit of table in reporting and how can we use this?
So what is string map table actually means in CRM?
String map table used in MSCRM for storing the details of Option Set Fields exists in an organization .It contains all the data (Attribute Name, OptionSet name, option value , option name) of option set
Below is the structure of StringMap table:
FieldData TypeDescription
ObjectTypeCodeINTObject Type Code of the entity for which the attribute belongs.
AttributeNameNVARCHAR(100)Schema name of the OptionSet attribute.
AttributeValueINTInteger value of the OptionSet option. This is the value that gets stored in the base tables.
LangIdINTLanguage Code for the CRM deployment. Usually 1033 for English (United States)
OrganizationIdUNIQUEIDENTIFIERGUID of the owning Organization.
ValueNVARCHAR(255)The actual value that is displayed in the OptionSet on a form.
DisplayOrderINTSpecifies the order in which the value is in the OptionSet
VersionNumberTIMESTAMPTimestamp for determining the version of the record (when it was last updated). This is used by the synchronization process.
StringMapIdUNIQUEIDENTIFIERPrimary Key (GUID) for the record.

Let’s take one requirement to clear the use of StringMap table, requirement is like:
 “Show the incident by status even all the status is not present in incident data or status by records contains zero value”
So in this scenario if we will have no string map table then either you need records which contain all the distinct type of record by status or you need hard code value use in report query.
By StringMap table you can join the table and can collect all the status present in incident and can collect records number by grouping of them.
So this type of many scenarios can be fulfill by this table

SOURCE : mscrm.com