Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
History / trend on a report value
laulowen
Hello all,
I've been searching for this feature for a while now, and maybe it's something really obvious but it's driving me crazy.
What I need is to present the 'history' of the execution of a report. For example, say I have a report on Person objects, that informs me among other things, the number of Persons that are older than 30. Now say I run this report every day for a couple of weeks. Besides seeing the results on any specific day (i.e. how many people were older than 30 on June 1st?), I would like to see a 'summary' of the report history, showing me how this number has been changing over time. This can be a simple table, a graph, or whatever, as long as it's a unified view of what happened over time. E.g.
June 1st --> 50 people
June 2nd --> 60 people
and so on
Is there a standard way to do this, that I am missing? Any suggestions?
Thanks in advance!
Laura
Find more posts tagged with
Comments
mwilliams
You could create a scipted dataSet that lists the dates between x days ago and today's date, then embed another table in this table that is tied to a dataSet that does a count of your query with a where clause giving a specific day to query for and tie the outer and embedded tables together with the dataset parameter binding option on the binding tab of the inner table. Would this work?
Another option could be that you write out your total each day you run the report to a text file. You can then use this text file as a dataSource on subsequent reports to show a table with the last x days' results.
Hope this helps.
laulowen
<blockquote class='ipsBlockquote' data-author="'mwilliams'" data-cid="78062" data-time="1307396952" data-date="06 June 2011 - 02:49 PM"><p>
You could create a scipted dataSet that lists the dates between x days ago and today's date, then embed another table in this table that is tied to a dataSet that does a count of your query with a where clause giving a specific day to query for and tie the outer and embedded tables together with the dataset parameter binding option on the binding tab of the inner table. Would this work?<br />
<br />
Another option could be that you write out your total each day you run the report to a text file. You can then use this text file as a dataSource on subsequent reports to show a table with the last x days' results.<br />
<br />
Hope this helps.<br /></p></blockquote>
<br />
Thank you Michael!<br />
<br />
The first option means I should keep information on the dates in my table, correct? I was wondering if there was a way to leverage the reports I already generated and use them as sources for my unified summary, but based on your answer, I guess there's not.<br />
<br />
So just to confirm, the suggested way is to keep my own historical information of the results of each generated report?<br />
<br />
Thanks again,<br />
Laura
mwilliams
This might be something you'll be able to grab from report documents of past ran reports, but it would seem like a much easier task to just store the values you want in a .txt file and read in the values through a flat file datasource. If you can get the same info through a query using a dataSet parameter binding and an outer table that lists the dates that you want, you could also do it that way. Those seem like the best 2 options to me. Actually digging through report document outputs for the last 30 days or whatever your criteria is seems like it would be more of a pain, but I haven't done or tried it, so maybe not.
hiteshwadhwa
Can some body elaborate how we can save historical trending in the Line Graph in Birt?
Previously we are using Clear point BI tool and there is last run parameter there to show historical trending in graph but not found in Actuate One Birt
mwilliams
Can you explain more about what you're wanting to do/see?
hiteshwadhwa
there is a weekly csv report comes each monday and i have to count number of users in it.so on X axis i want to show the date and on Y Axis want to show the count (No of users).I have used Line Graph
I want the history of the last 9 runs of the data set should be preserved and my graph automatically fetched previous counts and show as a trend.lets say if today is 28th Feb then i want to show trend from 1 Jan,8 Jan,15 Jan,22 Jan,29 Jan,5 Feb,12 Feb,19 Feb,26 Feb
Is there any parameter in data set or in graph where i want to set and get the historical run.
i know one way is if i can fetch report from 1 jan to 26 feb and group by date and show count.
i want graph should automatically fetch previous runs which i want to set (lets say last 9/10/20 runs)
Thanks
Hitesh........
mwilliams
My first thought would be that you could write a script within your report to write this value out to a text file, each week. Then, in your report, you'd have a dataSet that accesses the text file and uses it to create the chart. Then, you'd be able to filter the returned values by a parameter to dynamically change how many runs you bring in, whether it's 9, 10, or 20.
hiteshwadhwa
Thanks for your reply.
can you help me what kind of script (Java/javascript) and where should i call/write this script.
i am new in writing scripts.
Regards
Hitesh.....
mwilliams
I've not tried it, but you should be able to do this from your report script. You'd import java.io to read write from the text file. In your current dataSet, you'd read in the values and check if the current report's values were already there, or not. If not, you'd write them out, if so, you'd do nothing. Then, you could use either a scripted dataSet or flat file dataSet to bring in the data from the text file. Let me know if you have questions. If you need an example, let me know your BIRT version, I'll give it a whirl.
hiteshwadhwa
Sorry for replying late and Thank you for giving direction.
it would be helpful if you can give me some example code related to problem statement.
I am using below version of Designer.
Actuate BIRT Designer Professional
Version: 3.7.2
Build id: 20130129
Thanks
Hitesh......
mwilliams
In your case, since you're using Actuate BIRT, you have access to the Report Document Data Source. This will allow you to bring in old data into a dataSet, then create a union dataSet with your new and old data. All you have to do is create a report document from your report. When you bring in the new data and combine it with the old data, you can overwrite the old report document and next time it'll have all of the old.