0

I have a question about business rules and Business Intelligence tools.

The team working on Business Intelligence report tries to re-implement business rules in their report. Our application does calculation, transformation of raw data, and implement complex business rules .... I think the BI team doesn't need to re-implement already coded business rules and do not have to use raw but already transformed data.

What is the best way to provide transformed data to the Business Intelligence team ?

  • Save more data in our table to provide already transformed data ?
  • Create views or tables with the transformed data ?
  • Use Web Service ?
  • ...
Morgan
  • 1
  • I think both teams need to talk. BI teams have understanding that Transformation is part of ETL process, which is their domain. They also get their definitions from their users, which might or might not the same as your team's definitions and they don't want to verify that you're talking about the same definitions. One way to agree is to have your (production) team store transformed data to BI team's definition, otherwise they'd probably just ask for raw data. – imel96 Dec 08 '14 at 05:12

1 Answers1

1

There is no "best way", it always depends. The very first thing you have to clarify is if the BI team really want to reuse the existing business rules, and if the team managing the existing application has enough resources to provide and maintain an external interface to the business logic. Such reuse will create an encoupling between the two teams and their components. For example, if some business rules change, the BI team might have to wait for the application's team until they change the interface - but if the application's team has no time for the next 3 weeks, and the BI team needs the change tomorrow, you have a problem.

Assumed both teams agree to reuse some business logic - ask the BI people what kind of interface they prefer. What tools do they use, are those SQL bound, do they allow easy acess to a web service? If the question is "views vs. tables with additional attribute", you should start with views if possible (much less hassle with redundant data), and use addtional data in your tables only if you encounter measurable performance problems. You also did not tell us how the existing business rules are encoded - when they are currently not in a view, only in your application, you might have no other choice than to provide the calculation results in form of some additional attributes within an existing table.

Doc Brown
  • 199,015
  • 33
  • 367
  • 565
  • +10 - What a great answer. – JeffO Dec 08 '14 at 16:49
  • Thanks. I think the best way for us is to reuse business rules. The existing rules are encoded in a dll (C#). Data are currently available through webservice. I don't think they will use our web services and we won't re-implement rules in Sql View ...So the answer is probably using tables filled just for the BI team or adding columns to existing tables. – Morgan Dec 09 '14 at 10:22
  • @Morgan: as I wrote, the crucial point is what the BI team thinks. All you wrote gives the (maybe wrong) impression you did not talk to them so far. – Doc Brown Dec 09 '14 at 10:39
  • @DocBrown : Yes, we will talk to them this week but I wanted to get some information and best practices before ;-) – Morgan Dec 09 '14 at 13:13