# Flash Charts as a Business Intelligence Tool

Right-click and download this short video demo. (7.5MB)

The MEC (short for Matrix Embedded Component) was in continual development between 2003 and 2007. The just-released Flash version 6 provided all the power and flexibility that HTML, JavaScript, and CSS combined couldn't.

The MEC's interface was built to fill a need: neither Cognos' nor Microsoft Analysis Services' online interfaces provided charting features beyond a basic spreadsheet. However, Cognos did provide comprehensive Web Services and MSAS allowed us to create our own.

I was responsible for 90-95% of the MEC's development, including:

1. The user interface. Quaint now, but this was the height of Windows 98.
2. Tables and charts.
3. The dimension line.
4. Context menus and pop-up windows.
5. Styling properties used an external XML file.
6. Ajax to communicate with Cognos 7 and Microsoft Analysis Services 2000/2005 web services.
7. Convert data between XML and object-oriented data (this was before XPath was introduced).
8. Display object-oriented data in an easy-to-read format for debugging.

## Basic layout

Slide number:

1. Default view.
2. Chart picker. This is the user's view. The author is presented with more options and the ability to save changes.
3. Commands:
   - Clean layout.
   - Top of cube.
   - Swap rows and columns.
   - Pagination control.
   - Sort.
   - Suppress zeros.
   - Export to Excel.
4. Dimension Line. Even though dimension lines look like file menus, they are actually a means of both reflecting the current view and of exploring the cube of data.
   - The last dimension (in this case "Reseller Sales Amounts") is always the Measures dimension. Measures can be gross sales, profits, units sold, etc.
   - Dimension lines can be large and complicated. To speed up its initialization and re-use we did the following: each dimension is only loaded as the user requests it; the results of each request is cached as a Flash "cookie" (i.e. local cache); because the dimension line is cube-specific, the cache can be accessed for any chart using the same cube.
5. Dimension Line: first child menu.
6. Dimension Line: fourth child menu. The structure of the child menus are a direct reflection of the customer's data.

## Tables: replacing headers

1. Start.
2. Drag a dimension atop any row or column header, then drop. Any dimension from any level can do this.
3. In this case, "All Resellers" has replaced "All Products".

## Tables: nesting headers

1. Start. Nesting headers only applies to tables.
2. Drag a dimension to the edge of any row or column header, then drop.
3. In this case, each of the categories under "All Sales Territories" have been nested below each of the products.
4. Each category can be manipulated individually.
5. As a result of the previous action, Europe has been expanded for each of the products.

## Charts

1. Bar Chart.
2. Cluster Chart. Clicking on any label allows the user to drill down in the cube. The blue, underlined label in the tooltip clearly shows the user what dimension is being hovered over. This is very helpful when labels are shortened or not visible.
3. Tooltip.
4. Legend.
5. Legend minimized.
6. Minimized legend when the user hovers over it.
7. Stacked Chart.
8. Area Chart.
9. Pie Chart.

## Replacing rows and columns with charts

1. Start.
2. Drag a dimension atop any axis, then drop. Any dimension from any level can do this.

End of demo.

Paul Balchin