Work smarter with #PowerDesigner – use a Dependency Matrix to assign Domains to Attributes

PowerDesigner’s dependency matrices are really powerful, and I don’t ever remember seeing anything similar in a data modelling tool. They allow me to visualise and even edit links between objects.

In a Conceptual, Logical, or Physical Data Model, or in a UML Object Model, Domains are a useful object, allowing you to manage the ways in which your data is represented. Take this simple data model, for instance.

1. initial model

I’ve reached the point where I need to assign a Domain to each attribute. I can edit each attribute one at a time, and select a Domain from the drop-down list, like this:

3, Assigning a Domain

In a large model, that could take some time. There are a couple of ways we could speed up the process:

  • edit multiple attributes at once using a list of attributes
  • use a Dependency Matrix

In this blog post, I’ll cover the second option. A Dependency Matrix is a model object, so  like any other model object there are several ways of creating one. The simplest way is to right-click the model name in the Browser, then select “New”, and “Dependency Matrix”. The first thing we have to do is choose the types of objects to display in the rows and columns.

4. Create matrix

I want to use this matrix for editing attributes, so I have to make sure that the rows contain Entity Attributes, and the columns contain Domains. The matrix cell will show the “Domain” property of the Entity Attribute. When I click on <OK>, the matrix is created, and appears in the Browser

4a. browser

Now I can double-click the matrix to show the content

5. Matrix Content - initial

Three attributes already have the domain assigned – two of those are foreign keys for Building.Building Name, so I only had to set one of them, PowerDesigner set the other two automatically. Now, if I click inside one of the cells, such as the intersection of Elephant.Elephant Name and Animal Name, I can assign the domain to the attribute with one press of the keyboard – I use the Spacebar.

6. instructions

Now all I have to do is use the cursor keys to move around the matrix, and press the Spacebar every time I want to assign a Domain. It doesn’t take long to finish them all. Here’s the final matrix:

7. Matrix Content - final

Here’s the model:

8. final

The toolbar allows me to use the matrix in flexible ways, such as choosing which attributes or domains to include, hiding ’empty’ or populated rows, and exporting to Excel. Press <F1> to find out more.

9. Toolbar

Advertisements

#DataLineage – interested in integrating #PowerDesigner with #Solidatus?

PowerDesigner provides comprehensive support for data lineage via the mapping editor and the Data Modement model, but I’m sure SAP will agree that it isn’t the most intuitive data lineage solution on the market. There are several companies I know of that provide comprehensive visualisation and interrogating of data lineage, with the ability to link the metadata they extract from your applications and databases with metadata held in modelling tools.

Solidatus is one such company, here in the UK. They describe their offering as “an intuitive, simple to use web based application that gives you the ability to rapidly map and visualise your organisation’s data landscape — otherwise referred to as data lineage.”

Does your organisation use PowerDesigner for modelling, with or without data lineage? Are you also a customer of Solidatus, or perhaps you’re evaluating the tool? I’m looking for a forward-thinking organisation to work with, to build an integration between PowerDesigner and Solidatus. If you’re interested, please drop me a line using the Contact page (see the Top menu bar).

Thanks

Any #PowerDesigner newbies (in UK?) want some help for free?

If you or your friends / colleagues are new to PowerDesigner, no matter what you’re using it for, there is bound to be something that you’re not sure of the best way of doing, like including existing relationships on a diagram, or preventing the creation of graphical synonyms. Most data modelling tools don’t support graphical synonyms, so you may say “What the Heck?” to yourself when you first see them (they’re the symbols with numbers after the names – there are three symbols here for the SalesOrders table, all linking to the same definition):

Graphical Synonyms - PDM

Anyway, I’d love to know what knowledge is the most useful to PowerDesigner newbies, so here’s my offer:

  • one day of my time FOR FREE to help your newbies with their questions, as long as you don’t mind me documenting those questions

I’m based in Southern England, so there’s an obvious caveat here – I need to be able to travel to your site and back in a day.

If you’re interested, send me a message.

By the way, I’ve just updated my blog post on the topic of including existing relationships on a diagram.

 

Please vote for your favourite data modelling tool, whatever it is #PowerDesigner #ERwin #Idera #ERStudio

The people at ERwin pay a lot more attention than some other vendors do to promoting their product, including asking their users to vote for them in various polls or awards. Currently they’re asking their users to vote for ERwin in the “Readers’ Choice Awards” for Database Trends and Applications.

The following data modelling tools are listed in the poll –
PremiumSoft Navicat Data Modeler, Dell Toad Data Modeler, IDERA ER/Studio, ERwin, TimeXtender, SAP PowerDesigner.

That’s an interesting selection of tools, partly due to the absence of any tool from IBM, and also because there are two I’ve barely even heard of.

Voting closes on May 20th, so make sure to vote for your favourite modelling tool, whatever it is. My message is the same as it is to every registered voter in the UK today (lots of elections on in the UK today) – cast your vote and be heard!

Go to http://www.dbta.com/ReadersChoice/2016/Vote.aspx

Possible public #PowerDesigner courses in Toronto w/c March 7th – sign up now

There is a possibility that I will be in Toronto during week commencing March 7th to run public PowerDesigner courses for Sandhill. Take a look at http://www.sandhillconsultants.com/SAPEducation.asp –  if you think you might be interested in attending any of these courses, contact me or Robert Lutton at Sandhill (robert.lutton@sandhillconsultants.com).

What we run will depend on demand, of course, so let us know as soon as you can. Thanks

When your processes or business rules aren’t up to the job, don’t blame the customer #BusinessRules

Defining and implementing processes and business rules can be a complicated task, as I know from years of experience of data and process modelling.  I’ve been on the receiving end of some incompletely-defined processes and business rules recently, and was made to feel as if it was my fault, and that’s not a good feeling.

This isn’t intended to be a rant against the supplier, though it’s very tempting to go on at length about what went wrong, the promises that were broken, and the amount of time we had to spend on the phone to get it sorted (at a cost of 5 pence per minute).

The topic is the unwritten assumptions that lie behind some process and business rules, and what happens when those assumptions prove to be false.

Here’s the scenario – a family have an integrated dishwasher, built-in to a line of cupboards in the kitchen. The dishwasher has a major fault, so the family decide to replace it, and order a new machine from the web site of one of the biggest electrical retailers in the country. The unusual step they take is to order a free-standing dishwasher to replace the existing integrated machine; they pay extra for the new machine to be installed, and for the old one to be removed.

Here’s the supplier’s description of the service that they paid for.

Insstalling free standing dishwashers

That’s a straightforward process – it says quite simply that they will install the new dishwasher and remove the old one. No conditions specified.

The following morning, the delivery / installation team turned up with the new dishwasher, took one look at the existing one, and refused to touch it. Apparently, removing and installing integrated dishwashers is the job of a specialist team, and it costs the customer a lot more money – 4.5 times as much for installation. The fact that they weren’t being asked to install an integrated dishwasher, just to disconnect it and take it away, was irrelevant.

The family were not impressed – the installation team promised to call the office when they had a mobile signal to arrange a visit by a suitably-qualified team, but the family left nothing to chance, and called Customer Support themselves straight away. They were promised a call back which never came, so they called again in the evening. During that call they were told about the additional cost for installing an integrated appliance, and accused of not reading the terms and conditions when they ordered the installation service. These are the terms and conditions shown above, the ones which don’t mention the assumption that the installers would be replacing like with like.

By the time the family made the evening call to Customer Support, they had discovered how to detach the integrated dishwasher – there were three screws attaching the dishwasher to the worktop, which took about a minute to remove. Now it’s no longer integrated, it’s free-standing; why didn’t the professional installers know how to do that?

If the family had ordered a new integrated appliance, here’s what the installation service would consist of.

Insstalling integrated dishwashers

Again, a straightforward process, and you can see the additional tasks necessary to remove and replace the plinth and the panel door. In the family’s case, none of these tasks were necessary, as they had already removed the plinth and didn’t want to keep the old panel door.

Anyway, as the dishwasher had been converted from ‘integrated’ to ‘free-standing’ by the family, the supplier agreed to honour the original installation agreement and send a new team of installers.

At the time of writing, the family are waiting for the installation team to arrive, with all fingers crossed.

What lessons are there in this unfortunate story, apart from making sure you become an expert in somebody else’s job before they turn up?

  • When defining business processes, document your assumptions, and work on the exceptions (use cases are a great technique for doing this)
  • Make sure that the affected parties (in this case, the customers paying for the service) are aware of the assumptions and exceptions – include them in the definition of the service, perhaps asking the customer to call Customer Support before placing an order if the assumptions aren’t true.
  • Make sure that Customer Support staff don’t blame the customer for the supplier’s own lack of information
  • Let installers use judgement –the original team could have worked out how to remove the existing machine if they’d looked at it instead of just saying “Not my job, mate”
%d bloggers like this: