January Problem Solver of the MonthCongratulations to Sourav Dam for be selected in our monthly random drawing, Dynamics Community Problem Solver Sweepstakes.
Read aboug Sourav | Learn how to enter
2020 release wave 1 Discover the latest updates and new features to Dynamics 365 planned through September 2020
Release overview guides and videos Release Plan | Preview 2020 Release Wave 1 Timeline
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
Can anyone provide info on which tables or entities for multi-select picklists/optionsets are stored in Common Data Service?
Sadly, it's the numeric values that are stored in these fields on the entity level. I need the text from these fields.
I have searched the crap out of this and cannot find any information on it.
StringMap entity should contain labels that you need.
Hi Andrew, the Common Data Service does not have a StringMapBase table or entity.
In CDS, only the values from a "regular" optionset are stored in the entities. E.g. I have an optionset for Contact Rating (High, Medium, Low). In CDS, these values are seen in CDS fields as new_contactrating (which stores the value) and new_contactrating_display (which stores the label). The problem is with Multi-Select optionsets.
E.g. I have a multi-select field called Contact Interests, the multi-select fields in CDS only store the values (99900001, 9990002, etc.). So, it appears the labels for a multi-select optionset are stored somewhere else. In the previous version of CRM, they were stored in a table called StringMapBase...this table does not exist in CDS.
I don't plan to argue. Just try to run a query against your environment -
and you will see that data is there and... it's possible not only to get all the data but filter data using queries. Check following as a reference - http://himbap.com/blog/?p=3038
If you want to use it in reports here is an article for you - www.daymandynamics.com/.../
Hi Andrew, no arguments here...both of those examples are not CDS. The first link is using the API/OData. The second link is using FetchXML. I am trying to find that data in CDS.
From my earlier example, below is the data coming from the Contact entity that has a custom optionset and a custom multi-select picklist/optionset. Notice that the field with a single-select optionset show the labels in a field called crc69_testoptionset_display. Notice the field crc69_testmultiselect does NOT have a crc69_testmultiselect_display field.
There is also no stringmap entity.
So far, it appears multi-select field labels are not stored in CDS, or perhaps, not exposed. In either case, it's a lot of additional work just to get the data for multi-select optionsets.
Generally speaking Dynamics and CDS use exactly the same Service architecture. So references are valid.
The other thing that StringMap is some kind of entity that is not exposed externally so you can't use it your designer (you haven't mentioned that you want to use in PowerBI) so I assumed (and I keep saying that assumption is the mother of all the mistakes) that you're talking about SSRS report. And I was wrong. That's why I posted the second link. Anyway it proves that StringMap is there and fetchable.
Here is manual that should help you - https://www.youtube.com/watch?v=tURYKHjGagY
Don't stick to Dynamics CRM. CDS's endpoints are exactly the same. So approach should be similar.
I appreciate your efforts to help. I am aware of how to get data from StringMap using the API and/or oData...my question is related specifically to CDS. And yes, it is possible to get to that data using the API, oData and/or FetchXML. If the data for a "regular" optionset is stored in CDS and exposed easily, one would expect that multi-select labels would also be available.
Microsoft now recommends that CDS be used and to move away from the oData/WebAPI connectors. Seems at this point, that is not possible if your data includes multi-select optionsets. As you can see by the video, there a quite a few extra steps just to get picklist data.
To sum up I'm afraid that's usage of stringmap and odata/webapi is the only way you can get labels for your multiselect optionsets at the moment.
Business Applications communities