Vertical and Horizontal Decision Tables

Traditionally, the majority of decision tables list their rules in the top-to-bottom order when different rules are placed in rows.  Here is an example of a typical single-hit decision table created in Excel in accordance with the OpenRules format:

Note that all cells from B2 to E2 in the very first row (called “the signature row”) are merged to indicate the right end of the table.

However, sometimes users prefer to list rules in the left-to-right order when different rules are placed in different columns. To do that in Excel, you need to select all cells from B3 to E8, choose Copy, and then Paste Special + Transpose. To complete the table, you should place the same “signature row” on the top of the new table and make sure that it covers all new columns. Here is the transposed decision table:

Again, all cells from B2 to G2 in the new signature row should be merged.

It’s important to stress that OpenRules doesn’t ask a user to indicate a decision table orientation (Vertical or Horizontal) because it can figure it out automatically!

Our customers usually call the first table “Vertical” as the rules are listed vertically from top to bottom, and the second table -“Horizontal” as the rules are listed horizontally from left to right. I remembered that the DMN standard allows both formats, and to show them in this post I copied this example from the DMN specification:

I was slightly surprised to see that the table in Fig. 8.1 is called “Vertical” and the table in Fig. 8.2 is called “Horizontal”. But as long as the orientation of a decision table can be  recognized automatically, it really does not matter how you call it. It is up to human decision modelers to choose the preferred decision tables format – it may depend on the actual numbers of columns and rows. The important fact is that both formats are equivalent representations of the same decision logic.

One comment on “Vertical and Horizontal Decision Tables

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.