The term "business rule" gets bandied about quite a bit in data quality circles. In most of the data cleansing world, a business rule is a pattern that a particular data item must match. In the data profiling world, a business rule entails a pattern, a set of relationships, or a range of acceptable values.
My thought is that all of these are correct, but the term "business rule" really means something quite broader as it applies to data quality. A business rule is a statement about what constitutes the set of valid values for a set of data elements.
Notice that it's not just a statement about a particular field. A business rule can have a single "parameter" that defines the behavior of a field, but it can also extend to many fields across a record, a join of several records, or even an aggregate of tables or an entire database. For example, a business rule could say that the average of a column formed by the join of several tables will never exceed 150.
Business rules also include algorithmic statements. I think most DQ vendors would claim that they support business rules because they can define a pattern that a data element must match, inclusion in a set of lookup tables, or a simple expression. But real world data is never that simple. To really support business rules, you have to be able to handle the IF-THEN-ELSE and FOR-NEXT cases. For example, a business rule could be as complex as "If the value of Column A = 1, then the value of Column B must be in the range of A-D, otherwise Column B must be blank and Column C must be computed by taking half of the average of Column D from another table using Column E on the first table as the key to the lookup table." That's a fairly tough pattern to write even in the most sophisticated pattern matching environments, but it's a very easy snippet of code to write in almost any programming language.
Your thoughts?
What is a Business Rule?
This forum is in support of all issues about Data Quality regarding DataStage and other strategies.
Return to “Data Quality Best Practices”
Jump to
- Moderators' Choice
- ↳ Editor's BLOG Corner
- ↳ Ask the Experts! - Dads and Grads
- ↳ DSXchange Testimonials
- ↳ Cognos (IBM BI)
- FAQs
- ↳ FAQs
- ↳ FAQ Discussion
- DataStage
- ↳ General
- ↳ IBM<sup>®</sup> Infosphere DataStage Server Edition
- ↳ IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
- ↳ Archive of DataStage Users@Oliver.com
- IBM<sup>®</sup>Infosphere Products<sup></sup>
- ↳ Business Glossary
- Suggestions
- ↳ Site/Forum
- ↳ Enhancement Wish List
- Consulting
- ↳ Talent
- ↳ Looking for Talent
- Support
- ↳ Parameter Manager
- ↳ Compile All Plus
- Usergroup Forums
- ↳ Usergroup Central Forum
- ↳ Heartland Usergroup Forum
- The Written Word
- ↳ Articles, White Papers and Tips and Tricks
- ↳ Product Documentation
- Third Party Applications
- ↳ Third Party Applications
- Product Derivatives
- ↳ Functions
- ↳ Routines
- ↳ Jobs
- ↳ Logs
- Tools
- ↳ Tools Forum
- Category
- ↳ Infosphere Master Data Management
- ↳ Data Quality Best Practices
- ↳ IBM QualityStage
- ↳ Information Analyzer (formerly ProfileStage)
- ↳ IBM<sup>®</sup> SOA Editions (Formerly RTI Services)
- ↳ IBM<sup>®</sup> DataStage TX
- ↳ BI
- ↳ Data Integration