This blog on decision tables focusses on capabilities and latest ground breaking capacities of managing business rules in form of decision tables. Everybody who is interested to know about decision table – in general and its future in enterprise big data decision making competency must read through this blog and all related articles that explains, in depth, all the concepts and functionalities of the Decision Table.

Let me start with scratch and explain you what is decision table in general. Decision table is a way in business rules realm to formulate rules of business, company or corporation in a table structure. It  has been a very powerful style to represent business rules which otherwise would have spanned over multiple rows, pages and screens. Business rules articulated in form of decision table are quick to understand, clean, crisp, readable and most importantly compressed.

In concept, decision table comprises of columns and rows where columns describe the definition and operations of the rules and rows represents the value associated with these definitions and operations respectively. The columns are thus classified as 
(1) Condition Column – definition of the rule (2) Action Column – operation to the performed if the conditions are satisfied.

For Example: Let us assume that there is rule in bank credit card department which says, IF the Customer.ID = CUST_120000 has Customer.CurrentBalance Greater Than 2,000,000, THEN set Customer.Type = Gold ELSE set Customer.Type = Silver. This flat rule can be represented in tabular form as:

Customer.ID

Customer.CurrentBalance

Cutomer.Type

CUST_120000

>2000000

Gold

CUST_120000

<= 2000000

Silver

                     Figure – 1.1: A decision table to set the Customer type in Credit Card department

More on decision table structures in another blog titled – Modeling Simple Decision Tables

Once the decision table is modeled, we now look how the decision table is evaluated at runtime. For each row of Decision Table, the Conditions are evaluated column-wise from left-to-right in AND fashion. Action value associated with a row – whose conditions are satisfied – are collected in the result set. Let us look back again to the decision table mentioned in Figure 1.1 – For each row in the decision table, the Customer.ID column value is evaluated first followed by Customer.CurrentBalance in AND fashion.  If the conditions are met then Customer.Type is set to Gold or Silver.

While Business rules in tabular format is not new and has been a known concept in market for quite a long time – what we introduce here is decision tables integrated to SAP HANA – a modern in-memory platform. This has created a benchmark by debuting business rules in database layer. Information modeler, data architects or application developers can now update or select the data from the database tables with basic understanding of SQL language – A language that manages database. Decision table exported as Microsoft Excel can later be used by Business users to manage the rules . Business rules in this avatar offers a high degree of decision making capabilities with big data. It advertently inherits real time-performance benefits that SAP HANA offers making it even more powerful, optimized and real time reliable.

Hence, when you think about writing business rules that aids better decision making with big data and performing analytics over the results –Business Rules powered by SAP HANA is the answer. Nowadays big data is the reality of every industry and the key factor that determine the winners will be the the one who would take advantage with the big data decision-making tools like Business Rules On SAP HANA – available from SAP HANA SP05 release.

Follow subsequent blogs to get started with decision table modeling capabilities

Other Related Blogs

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. Fred Verheul

    Hi Archana,

    Thank you for this blog series about Decision tables in HANA. I’ve not yet delved into them myself, so this certainly helps!

    I have a couple of remarks:

    The first two are technical:

    Your links (in subsequent blog posts) to the SAP Help point to the local help within HANA Studio (I guess), so I couldn’t find it. You might want to replace them by links to the online help, if there is any (I’m pretty sure there is).

    Besides it would be nice if you could add links to the other blog posts in this introductory blog post.

    The last thing is about the fact that

    Business users can now update or select the data from the database tables with basic understanding of SQL language

    Most business users don’t have a basic understanding of SQL, and certainly don’t and won’t ever have HANA Studio installed. As long as decision tables are to be managed from within the HANA Studio, this will not be done by business users, which kind of defeats the purpose IMO (business rules, and among them decision tables, should be maintained by business users). Any thoughts on this?

    Cheers, Fred

    (0) 
    1. Archana Shukla Post author

      Hello Fred,

      Thanks for your comments.

      I have included the relevant links of other blog post. However, there would be another blog  which will act as introductory post for concept, decision table modeling techniques, advanced features, performance report etc.  You would see it soon !!

      HANA Studio would be used by information modeler, data architects or application developers to design the decision table. Currently business users can modify the decision table in excel using Import/Export feature. We are working towards the web-interface for business users to maintain the business rules. Please let us know if you have any use case we can help you with !

      Cheers,

      Archana

      (0) 
      1. Fred Verheul

        Thanks Archana,

        Sounds good, this web UI for business users.

        Also thanks for including the links. I was under the impression that this blog post was that introductory post.

        Sorry, no use cases at the moment.

        Cheers, Fred

        (0) 
  2. Gregory Misiorek

    Hi Archana,

    we know know them as config tables and there thousands of them in ecc. i would like to learn more about how they will interact with TCURR master data table in HANA.

    thx,

    greg

    (0) 
  3. pete wachira

    To extend this functionality to match what some business rules out there (drools) can do,

    is it possible to separate the decision table rules from the data?

    Then each row in the data can be evaluated against all the rules, allowing one row to match more than one set of conditions.

    The action in this case should be flexible enough to allow one of the following:

    1. modification of some value in the current row – such as the Customer.Type above
    2. modification of another table or view – such as by inserting some values into a a customer_characteristics table.
    3. calling an xsjs service or procedure that might carry out the action 2 above or some other action.
    (0) 
  4. David Bizien

    Hi Folks,

    A small questions for you.

    The problem with decision tables is that some times you do not know how many conditions with “AND” link you will need !

    Could be cool to have some thing where we can define a dynamic number of condition or link two entries of a decision table together to add some flexibility ?

    Have you seen or manage those kind of cases ?

    Regards,

    David

    (1) 

Leave a Reply