Friday, 28 August 2015

Master Data Services 2016 CTP 2.2 - Explorer functionality quick fix

Microsoft has recently released SQL Server 2016 CTP 2.2. I was concerned about the Master Data Services and was exploring the new features. I got surprised when I see that Explorer functionality was not working. Generally it is used to manage members for Entities and Hierarchies. It is one of the main functionality and frequently used in MDS. Please note that I have used the SQL 2016 Server CTP 2.2 from window azure environment. I feel this issue could be the same if you download and install CTP 2.2 on virtual machine.

Please refer to below screen shot:

You can conclude from above screen shot that that Explorer functionality is disabled as well as you can’t select the version of the model. If you navigate through Version Management or Integration Management, you are allowed to select the version. This is quite strange.

It was not possible to view the members at all. I have complaint about it at some site as well on twitter, but no response till yet.

Alternatively, I used Excel add in to view and modify the members and test couple of deployment scenario. But it was quite annoying. I tried to find a workaround for it and luckily I got succeeded.  I am sharing this to all of other MDS users so that everybody can use and test the MDS CTP 2.2 without any interruption.

To access the explorer functionality, you just have to replace the proper value enclosed in ‘<>’ and paste into address bar.

<Your MDS Server URL>/Explore?MID=<MUID of the Model>&VID=<MUID of Version of the model>#/ExplorerEntity?MID=<MUID of the Model>&VID=<MUID of Version of the model>&EID=<MUID of Entity which you want to explore>

Once you replace ‘<>’ with proper value, Explorer functionality will be up and running. To replace the proper value for above string I created some SQL Script. Once you execute it, it will give you the exact explorer MDS URL for the specific entity. You just have to paste it into the address bar.
Execute below script against MDS database.

DECLARE @MDSServerURL  VARCHAR(100) = 'http://sql2016ctp222:81/' -- <Your MDS Server URL>
DECLARE @ModelName     VARCHAR(50) = 'CustomerSample'           -- <Model Name>
DECLARE @EntityName    VARCHAR(50) = 'Area'                     -- <Entity Name>
DECLARE @MUIDModel         uniqueidentifier
DECLARE @MUIDModelVersion  uniqueidentifier
DECLARE @MUIDEntity        uniqueidentifier

-- Get MUID for the Model

FROM mdm.tblmodel
WHERE Name = @ModelName

-- Get MUID for the version of the model

SELECT @MUIDModelVersion = v.MUID
FROM mdm.tblModelVersion v
       INNER JOIN mdm.tblmodel m
              ON v.Model_ID = m.Id
WHERE m.Name = @ModelName

--Get MUID for the entity you want to explore

FROM mdm.tblEntity e
       INNER JOIN mdm.tblmodel m
              ON e.Model_ID = m.Id
WHERE m.Name = @ModelName

SET @MDSExploreURL = @MDSServerURL + '/Explore?MID='
                                  + CAST(@MUIDModel AS VARCHAR(255))
                                  + '&VID=' + CAST(@MUIDModelVersion AS VARCHAR(255))
                                  + '#/ExplorerEntity?MID='
                                  + CAST(@MUIDModel AS VARCHAR(255)) + '&VID='
                                  + CAST(@MUIDModelVersion AS VARCHAR(255)) 
                                  + '&EID=' + CAST(@MUIDEntity AS VARCHAR(255))

--copy the below result and paste it into address bar and you are there


I just copied the URL and paste it into browser and I got below screen:

Now you can choose any entity and explore J

Now it is cake time J Enjoy reading.

1 comment:

  1. it keeps asking me to install SilverLight in chrome even though I have it and i get remote sever arguments not found error in IE