Compartilhar via


Tablix – The Matrix Revolution

Tablix is the new underlying flexible data region and grouping structure introduced in Reporting Services 2008.  Among other features, it enables asymmetric layouts, as demonstrated in the thumbnail screenshot below. 

Tablix Example - click to see larger version

If you use a list, table, matrix, chart, gauge, or custom report item in RS 2008, you are really using a tablix beneath the covers.  Ever since the first public revealing of tablix at TechEd conference in June 2007, and making it available shortly after in CTP 4 of SQL Server 2008, a lot has been said about tablix (e.g. see Teo Lachev’s: Tablix – The Crown Jewel posting).

As the developer who implemented tablix in the new on-demand report processing engine of Reporting Services 2008, I wanted to share my perspective on how report authors can get even more out of tablix.  This is the first posting in a series of postings, focused on exploring several of the tablix capabilities.  In one of the upcoming postings I will explain key building blocks of the report shown above.

So what’s the meaning of the word “tablix”?

Tablix = Table + Matrix

A tablix combines all the features of a table and a matrix.  In addition, it adds new capabilities such as:

  • an unlimited number of (un)correlated side-by-side adjacent groups on rows and columns
  • more layout flexibility, such as stepped group layouts in addition to nested blocked layouts
  • subtotals have explicit cell definitions - no need to use InScope to determine the current scope dynamically
  • the matrix corner is now a grid corresponding to the row/column group structure

With that, you no longer have to determine upfront if you need a table or matrix (sometimes also called crosstab) layout.  You can change the tablix layout on-the-fly as you refine the report design or adjust for new requirements later.

Comments

  • Anonymous
    March 05, 2009
    PingBack from http://www.anith.com/?p=16002

  • Anonymous
    March 15, 2009
    Tablix enables the separation of data groupings and layout header areas.  This provides very powerful