Progress Tracking in a report

Hey Gang,

I need to pick your brains on something. Does anybody know if there is way to display the number of rows a report is going to fetch to the users. My client wants to set the users expectations by displaying a message with the number of rows that will be retrieved. This should be displayed when the user refreshes the report. I did not think this is possible.

Also, is there a way to display a “% completion status” for the report?

Thanks in advance
Samita Chitre
Braun Technology Group


Listserv Archives (BOB member since 2002-06-25)

Samita:

besides installing the BOTelepathy module, there are a few things you can do.

  1. insert a cell on the report (maybe in the footer) and edit its formula to use the NumberOfRows(dataprovider) function. this would let them see how many rows came back the last time the report was run. this may be acceptable, but not terribly useful when there is no last time (i.e. the first time it’s run!)

  2. you can educate your users on the basics of dimensions and cardinality. for instance, if the query involves summing some measures by market and product and time, and you have 5 markets, 10 products and 12 time units(like months), and assuming each product is available in all 5 markets, you’ll get 51012=600 rows back. this will work with nice, simple relationships. and, it never hurts to have the users understand their data!

  3. you can automate the above logic to some degree. you can kick off a reportscript to determine the dimensions involved, access some knowledgebase of their cardinalities and relationships, and do the math up front. this knowledgebase could be as simple as an ‘include file’ of constants, like this:

CONST NUM_OF_MKTS as Integer=5
CONST NUM_OF_PRODS as Integer=10
CONST NUM_OF_TIME_UNITS as Integer=36 '3 years of 12 time units. or 39 if
'you use 13 periods…but i digress

you could also keep the knowledgebase in a rdbms and use SQL commands to fetch it. this may be implemented to take advantage of any metadata you have stored outside of BO. (wouldn’t it be nice to pull the object’s help text? if anyone knows how, please advise. i hadn’t quite thought of it until now!)

as a worst case scenario (i hope it doesn’t get worse than this!), you could store the knowledgebase in bo report and use reportscript to access it.

to kick off the script, you could set the OnBeforeRefresh event to execute this script. the problem is, it only works on a refresh, not the first time it is run. so you could run the query and turn off the option to retrieve the results, turn it back on through the Data->View menu option, then refresh. a bit tedious.

so, here’s another option: in designer, create an object whose SELECT statement is:

@Script(‘DummyVar’,‘A’,‘RowsBack’)

now, it won’t parse, but it will run. i’ve gotten similar objects to work before, though sometimes not quite perfectly right off. you’ll have to see for yourself. i’m sure it’s not quite standard BO usage :slight_smile:

you’ll also have to see if you can effectively delete the unwanted result objects from the report within the script as well. shouldn’t be a problem.

the upside here is that the user can choose to check the row counts first or not, simply by including the object in the result window.

  1. same as #3, but if you’re using oracle, perhaps you could pass the dataprovider sql to a stored function that does all the work. i’m not sure how you would do that precisely from reportscript. i guess that’s part of being a ‘big help’ :slight_smile:

in any case, it would be helpful to separate the logic and knowledgebase from the tool so that it could be used by other tools as well.

frank b. duncan
decision support specialist
national city corp.
frank_b_duncan@national-city.com
(216) 488-7677

______________________________ Reply Separator _________________________________
Author: Business Objects Query Tool BUSOB-L@LISTSERV.AOL.COM at ~internet
Date: 10/28/98 8:28 AM

Hey Gang,

I need to pick your brains on something. Does anybody know if there is way to display the number of rows a report is going to fetch to the users. My client wants to set the users expectations by displaying a message with the number of rows that will be retrieved. This should be displayed when the user refreshes the report. I did not think this is possible.

Also, is there a way to display a “% completion status” for the report?

Thanks in advance
Samita Chitre
Braun Technology Group


Listserv Archives (BOB member since 2002-06-25)