It’s been more than a month since my last post and unfortunately this crazy thing called work kept me away for far too long. We will build some momentum and get back on track in this post. In the first three posts of this series we spent time to build a foundation for understanding important master data concepts and architectures. We also spent time to set-up and configure Master Data Services. In this post, we will get to the meat of MDS 2012. Specifically, we will dial in on the model, entities, attributes, and wrap things up with brief discussion on members.
Part 1 – Understanding Master Data
Part 2 – Master Data Management Architectures
Part 3 – Installing Master Data Services
As we discussed in prior post, master data is generally grouped by subject matter areas. Examples of these areas can be anything ranging from customers, to products, to a chart of accounts all of which represent the nouns of your business.
The model is the most fundamental object in the MDS universe. It is a container which encapsulates all other objects such as entities, hierarchies, collections, and business rules. To use an analogy to better illustrate the role of the model in Master Data Services, the model plays the same role as a schema in the database world.
We can roll this analogy forward and apply it to the entities, attributes and members as well. Entities in this case would be the equivalent of a database table, while attributes would be represented by a column within the database table and finally members would analogous to a row within the table.
Now that we have the ground work set, let’s walk through the steps required to create a model. From your Master Data Service homepage, click the System Administration link. This link will take you to the Model Explorer page. The Model Explorer page uses a tree view control to allow you to explorer the installed models, entities and attributes. You can also add and edit objects directly from this page although it is not as intuitive as the method we will use.
To begin adding and editing models, select “Manage” and then “Models” from the administrator menu to launch the Model Maintenance view. From this screen we can add, edit and delete models. To add a new model, start by clicking on the green plus icon.
On the Add Model page, you will be prompted for a Model Name and have three options for configuring the model:
|Create entity with same name as model – A shortcut that creates an entity with the same name as the model. If you uncheck this option, you will need to manually create the entities after the model is created.|
|Create explicit hierarchy with same name as model – Similar to the first option, except for an explicit hierarchy. We will discuss explicit hierarchies later so leave this option unchecked.|
|Mandatory hierarchy (all leaf members are included) – You must create an explicit hierarchy for this option to be available. When selected, this option forces all leaf members to participate in an explicit hierarchy.|
Once you have made your selections, click the disk icon to save the model.
Entities & Attributes
With our model container in place, we can move on to discussing entities and their building blocks attributes. Going back to the analogy we discussed earlier, the relationship between these two objects is the same as that of a database table and column, which boiled down means that an entity is constructed by its collection of attributes.
Before we move forward with creating and managing entities and attributes, we need to briefly discussion the types of attributes and the role each type plays. In Master Data Services 2012, you have three attribute types available: free-form, domain-based and file.
|Free-form – The free-form attribute is constrained only by its data type. The data type of this attribute can be either Number, Text, DateTime or a Link. Each data type allows you to configure relevant properties such as length, decimal places and input mask.|
|Domain-based – The domain-based attribute is defined as an entity within the model. The values for this attribute type function as a constrained list based on the values of the configured entity. This attribute type is also critical because it defines the domain relationships between entities which are used to set-up derived hierarchies as we will see shortly.|
|File – Type used to store files, such as images or documents. An example of this attribute type would be something like an employee badge photo or product photo.|
Now that we have an understanding of the attribute types that are at our disposal, let’s move forward and create an entity and several attributes. If you are starting from the homepage, you will need to click the System Administration option to get to the Model View screen. Once in the administrative portion of the MDS UI, click the “Manage” and then “Entities” menu option to navigate to the Entity Maintenance page.
Once on this page, you should recognize the default entity we created when we created our model. Before we edit this entity, we need to create several new entities. To create a new entity, click the green plus icon to launch the Add Entity dialog. There are prompts for entity name, an optional staging table name (it will default and use the entity name if you do not specify and alternative), an option for creating code values automatically much like an identity column and finally an option to enable explicit hierarchies and collections. Clicking the disk icon saves the entity and returns you to the Entity Maintenance page.
To edit an entity and create or modify attributes, start by click on the entity you wish to edit in the list of entities. Once selected, the entity is highlighted blue and you will have additional icon buttons available. In addition to the edit pencil icon, you have the option to manage attribute groups, manage business rule as well as delete the entity. Because we are interested in editing the entity, click the pencil icon to launch the Edit Entity dialog.
Entity Maintenance – Selected Entity
On the Edit Entity dialog page, you will notice that the Entity Maintenance section offers the same options we saw previously when we created an entity. The only difference being that once created the staging table used for the entity cannot be changed. The section we are most interested in is the Leaf Member Attribute section.
The icons at this point should seem familiar. We will use the green-plus icon to add an attribute to an entity, the pencil icon to edit an existing attribute and the red-x icon to delete an attribute. Let’s add a new attribute, by clicking the green-plus icon.
The first thing you notice on the Add Attribute dialog are the three available attribute types. The Free-form includes common prompts like attribute name and data type as well as context specific prompts like text length or input mask depending on the data type selected.
The Domain-based prompt is similar with the exception of the entity drop-down list which allows you to reference other entities or even the entity itself as an attribute. A few other options common to all attribute types worth defining are the display pixel width, change tracking option and change tracking group.
|Display pixel width – This option controls the width of the grid column in the Master Data Manager UI display. Sizing this option appropriately will go a long ways towards making UI more usable.|
|Enable change tracking – The change tracking option allows business rules to be defined in such a way that the rules are run whenever the attribute value changes.|
|Change tracking group – Defining a change tracking group is dependent on enabling change tracking. Groups of multiple attributes can be defined and then business rules can be configured to run against a change tracking group rather than being hardwired to a specific attribute.|
Going back once again to the analogy we have been using through-out this post, Members in the MDS world are the equivalent of rows in a database table. At the intersection of each member and attribute exists a cell or attribute value. Within this context, Master Data Services has three important types of members.
The default and subsequently most common type of member is the leaf member. The leaf member represents the lowest level of granularity in the MDS object hierarchy and is the best representative of a database row. A second type of member is called a consolidated member. The consolidate member is a special member than is enabled when explicit hierarchies and collections are enabled. The purpose of this member is to group together both leaf members and other consolidated members into explicit defined collections or hierarchies.The third and final member type is a collection member. You could probably guess by the name, that this special type of member simply implies that it is a member of a defined collection. Collection members can be either leaf members or consolidated members.
While our discussion has not been exhaustive in all things MDS member, we will differ the discussion on creating and managing members to a later post that focus specifically on the Master Data Manager and Excel Plug-In.
In this post we discussed the building block of a Master Data Service implementation. We talked about the model as a subject-matter area container, discussed the role of entities and how attributes serve as there building blocks. Finally we reviewed the three different types of members that exist in MDS. In the next post we will focus on both derived and explicit hierarchies before introducing collections.
Till Next Time!