We all struggle with complexity of designing, building and maintaining BI apps. Why? Among many other reasons, the simplest one is that there's just too many components involved. Just to name a few:

  • Data sourcing
  • Data extraction
  • Data integration
  • Data cleansing
  • Data aggregation
  • Data modeling (star schemas, cubes)
  • Metrics management
  • Queries
  • Reports
  • Dashboards
  • Alerts
  • Delivery (portals, schedulers, emails, etc)

For years there were many attempts to automate some of these steps via metadata. So rather than than coding source to target SQL transformations or DDL for DW generation vendors came up with, what I know call "1st generation" metadata driven BI tools, such as:

  • ETL tools where metadata auto-generated SQL scripts for data extraction, loading and transformation
  • BI tools where metadata auto-generated SQL for queries
  • Data modeling tools where metadata auto-generated logical data models and DDL for physical data models

But, the "2nd generation" metadata driven BI apps (note apps vs tools now) do much more. For example, they:

  • Use metadata to generate multi vendor apps (like BalancedInsight, Kalido and BIReady do), and having a single place where changes can be made
  • Use metadata to generate all three (ETL SQL, BI SQL, DW DDL, like Cognos, Wherescape, BIReady do), and having a single place where changes to all 3 can be made
  • Using metadata to generate report layouts (like Cognos does)

The bottom line here is that these 2nd gen metadata driven BI apps actually generate apps (vs SQL).
I am currently looking at the following vendors ...

  • ASG
  • BalancedInsight
  • BIReady
  • IBM Cognos BI Applications
  • Kalido
  • Modulant
  • Wherescape

... capabilities to see how many steps out of ...

  • ETL source to staging
  • ETL staging to DW
  • DW DDL
  • Cube generation
  • Semantic layer generation
  • Report generation

... they can auto-generate via metadata. Stay tuned for a full report.
Boris also blogs at http://blogs.forrester.com/business_process/.