David, Milind,
On Chart Interactivity, one area to think about is whether
we can incorporate support for drill down/drill up and filter type
functionality. I realize that the chart infrastructure and APIs will allow
people to use the chart component for this type of interactivity if they want to
build it -- but I'm wondering if we can build some capabilities into this area
in the context of charts that are embedded in BIRT reports.
Example scenario #1: I am viewing a bar chart of world-wide
sales by year -- with a bar for each year showing me total sales. I think click
on bat for year "2005" and the chart changes to show me the sales for each
quarter in 2005. Effectively, this "drill down" has applied a filter to only
look at "2005", and has changed the series from year to quarter. If I
wanted, could also drill back out to the year level.
Example scenario #2: I am looking at a pie chart that shows
total sales for each product line in each slice of the pie. I click on the pie
slice and we drill into a pie chart that shows the total sales numbers for all
the individual products in that category.
This will only be possible if the data in the dataset can
support the drill-down/up activity. In effect, this means that this capability
would only work where the chart component is doing the aggregation activity. If
the data has already been aggregated prior to be given to the chart, then no
drill-down would be possible.
This type of "automatic" drill-down feature would be very
compelling. Note that this is different from "drill-through", where a user
hyperlinks to an additional report that shows data in different ways.
Drill-through is also important, and already included in your spec via the
hyperlink capability. The good part about offering both capabilities is that
drill-through can be used where drill-down is not possible (e.g. when the
detailed data in not available to the chart).
On a similar
theme, a filter capability would be interesting -- provide some type of UI
gesture that allows the user to apply a filter to the data being charted.
Example: If "color" is in the original dataset (but not actually charted) then
allow the end user to specify that the chart should only show products where
"color=red". Simple filtering would be all that is required here (in order to
keep the UI simple and easy to use) - along the lines of Excel's Automatic
Filter capability.
For either of these features to work, the chart component
UI would clearly need to have the detailed data available. In some case this
might be practical, in some cases not (especially if the recordset is very
large). For this reason, this would be a capability that the developer should be
able to enable/disable.
With capabilities along these lines, charts in the context
of a BIRT report now enable business users viewing the report to answer business
questions that the original static chart did not answer. Example: "Yes, the
original chart showed me that 2005 has the highest sales -- but now I can see
which product in 2005 was the best selling product without going back to the
report developer and creating another report". With this in mind, any
interactive features in this area need to be very easy to use -- since it is the
business user who is viewing the report that is using them.
Not sure if any of this is feasible in BIRT 2.0 -- but
it would be extremely powerful and compelling.
Paul.
Hi
All,
Here are updated drafts
of the Chart Types and Chart Interactivity functional specifications. Here are
the changes:
Chart Types: Extended
3D rotation to three axes. Changed anchor to position for fitting curve label.
FittingCurve now applies to Series classes. Added Line Chart coloring from
Palette. Added Mockups
Chart Interactivity:
Marked Rotation as POST 2.0 feature. Added chart dimension in menu. More details
on _javascript_ API. Removed Builder section
Please send me your
comments if any.
Thanks,
David
|