Modifying Data designs for existing reports?
<p>Hi,</p>
<p>I couldn't find any topics that touched on this on the forums, so I hope I'm not duplicating this. A search on the internet didn't turn up anything. I've only been doing BIRT for a few weeks, so please excuse me if I don't use the proper terminology.</p>
<p> </p>
<p>If it helps with anything that follows, we are using Actuate BIRT Designer Professional build on Eclipse (v 4.2.3) and ihub server (I don't know the version, but it is not the newest. We have a second server with a newer version to which we will eventual migrate all of our dashboards).</p>
<p> </p>
<p>For the high level question (specific example to follow): Pretend that you've sunk many hours into building a number of reports off of one specific data design/object/model. The specifications changed, and it turns out, that if you add one more column of data to your object and model and update the bindings in the reports, then you would be able to easily add the feature to the reports (this is in opposition to the other option I can think of that would be rebuilding everything from scratch). Is there a way to do this?</p>
<p> </p>
<p> </p>
<p>Here is the specific scenario that I have: Someone, who is not me, built a number of elaborate reports and put them on a handful of dashboards on ihub server. These will be viewed internally and by clients, so polish matters. I'm here to clean them up. A number of the charts and accompanying data selector widgets are alphanumeric strings representing age group ranges (call them Age_Groups).</p>
<p>e.g.</p>
<p>Unknown</p>
<p>5 and under</p>
<p>5 to 9</p>
<p>10 to 49</p>
<p>50 to 99</p>
<p>100 and older</p>
<p> </p>
<p>At least that's the order we want it in, but sorting alphanumeric strings is really a custom thing, and using standard rules gives us this (or something like this, I'm just making this up as an example instead of typing out the full rather lengthy list we have).</p>
<p>e.g.</p>
<p>100 and older</p>
<p>10 to 49</p>
<p>50 to 99</p>
<p>5 and under</p>
<p>5 to 9</p>
<p>Unknown</p>
<p> </p>
<p>This is an issue because it both appears on axis labels and appears on data selector widgets (which both use different ways of determining their sorting), and not being ordered properly makes it look like an amateur attempt and provides confusing UI for the users.</p>
<p> </p>
<p>So my simple solution was to just add another column of integers (call it Age_Groups_keys) into the data source that maps "Unknown" -> 1, "5 and under" -> 2, ... "100 and older" -> 6. Then I would sort/group/chart using Age_Groups_keys as the value and Age_Groups as the display text (for the chart axis a bit of beforeDrawAxis javascript can map the numbers back to the words).</p>
<p> </p>
<p>The proof of concept (brand new data object in a brand new report) works exactly as I wanted it to, but the problem is, I now can't find a way to put this back into existing reports that would be prohibitively expensive to redo from scratch (from a time perspective). I tried building a new data object/model identical to the first with just the addition of the new column and adding it to an existing report. Then I went into the chart and changed the data model binding. Even though the names and types of the old columns did not change, when I tried to view the chart, it displayed the "this chart does not contain any data message."</p>
<p> </p>
<p>I'm open to clever solutions to my immediate problem, but in the end, I think this type of thing is going to come up again, and I'll need to know how to deal with modifying an existing data source being used by many reports.</p>
<p> </p>
<p> </p>
<p>Thanks,</p>
<p> </p>
<p>Ian </p>
<p> </p>
<p> </p>
<p> </p>